c++ - 指定目录以在 vcxproj 文件中查找 stdafx.h
问题描述
我一直在从头开始制作一个 vcxproj 文件,以更好地了解 msbuild。我的项目结构基本上是这样的:
$(MSBuildProjectDirectory)\src\main.cpp
$(MSBuildProjectDirectory)\src\stafx.cpp
$(MSBuildProjectDirectory)\include\stdafx.h
我假设在我的 vcxproj 文件中定义它:
<ItemGroup>
<ClInclude Include="$(MSBuildProjectDirectory)\include\stdafx.h" />
</ItemGroup>
将允许我调用#include "stdafx.h"
,main.cpp
而不必指定相对路径(例如#include ..\include\stdafx.h
)。但是当我构建我的项目时,我收到一条失败的消息,说 msbuild 找不到stdafx.h
:
"C:\Projects\SDL2plusplus\SDL2PlusPlus.vcxproj" (default target) (1) ->
(ClCompile target) ->
C:\Projects\SDL2plusplus\src\stdafx.cpp(4): fatal error C1083: Cannot open include file: 'stdafx.h': No such file or direc tory [C:\Projects\SDL2plusplus\SDL2PlusPlus.vcxproj]
有没有办法可以在 vcxproj 文件中指定包含目录,以避免将手动路径放在我的 #include 指令中?
解决方案
这是一个属于 ItemDefinitionGroup 的 ClCompile 任务:
<ItemDefinitionGroup>
<ClCompile>
<!--<PrecompiledHeader>Use</PrecompiledHeader>-->
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(MSBuildProjectDirectory)\include;C:\vs_dev_lib\SDL2-2.0.8\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
推荐阅读
- animation - 如何让花茎随着 After Effects 中的音乐振动(如何为波形制作动画,而不仅仅是幅度)
- html - 如何在单击按钮上的图像地图位置添加值
- javascript - 无法反序列化 text/html json 响应
- xamarin.forms - DevOps App Center 分发任务给出未经授权的错误
- amazon-cloudfront - 根据 IP 地理位置,将不同的来源作为 DNS CNAME 值
- google-sheets - 如何将保留队列数据从 GA 传输到 Excel
- python - 无法在 mysql django 中将图像存储为二进制文件,也无法在 forms.py 中检查图像的大小
- asp.net - 当请求需要很长时间或网络连接丢失时,请求会自动重复多次
- c++ - 比较 (struct &a, struct &b) 与 (const struct &a, const struct &b) 的 == 运算符
- graphviz - 如何修改箭头路径?