MSBuild - 无法打开包含文件(尽管在INCLUDE列表中列出)

时间:2016-08-03 13:02:46

标签: c++ visual-studio-2015 msbuild

我可能错过了一些明显的东西 - 但我在这个问题上已经被困了一段时间。我正在使用MSBuild在命令行上编译Visual Studio项目。基本上是这样的:

CALL vcvars32.bat
MSBuild myproject.sln /m /t:rebuild /p:Configuration=Release /verbosity:m

但这给了我一个错误:fatal error C1083: Cannot open include file 'winsock.h': No such file or directory

但是如果我在vcvars32.bat调用之后检查环境变量INCLUDE,那么列表中包含'winsock.h'的目录 - 所以我肯定在SDK中有这个文件。

此外,如果我将MSBuild的详细程度更改为详细信息,我可以看到使用的完整编译命令。如果我复制它并在控制台中运行它,相同的cpp文件编译没有任何问题。

MSBuild上下文中有什么不同的想法吗?

1 个答案:

答案 0 :(得分:1)

解决了这个问题,添加/p:useenv=true使MSBuild使用INCLUDE环境变量。

(还是有点不确定为什么必须要这样做,因为我无法回想起之前为命令行构建所需的那些。)