MSBuild-无法打开包含文件(尽管已在include列表中列出)
MSBuild - Cannot open include file (despite listed in the INCLUDE list )
我可能遗漏了一些显而易见的东西,但我在这个问题上已经被卡住了一段时间。我正在使用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上下文中有什么不同吗?
解决它,添加/p:useenv=true
使MSBuild使用INCLUDE环境变量。
(仍然有点不确定为什么必须这样做,因为我记不起以前在命令行构建中需要这样做了。)
相关文章:
- Pybind11:将元组列表从Python传递到C++
- 从链接列表c++中删除一个项目
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- C++如何通过用户输入删除列表元素
- 读取文件的最后一行并输入到链接列表时出错
- 既然存在危险,为什么项目要使用-I include开关
- 复制列表初始化的隐式转换的等级是多少
- LNK2038、MSVS2017 MAGMA的原因列表
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 没有为自己的结构调用列表推回方法
- 如何将更多文件夹添加到c++include路径
- 什么是"#include <boost/functional/hash.hpp> "?
- 使用简单类型列表实现的指数编译时间.为什么
- 一对向量构造函数:初始值设定项列表与显式构造
- 标准是否使用多余的大括号(例如 T{{{10}}})定义列表初始化?
- 如何向 g++ 编译器解释如何读取用于从'list'文件中搜索 .h 文件的'include'目录列表
- 如何生成丢失的#include文件的列表
- #include <initializer_list> 需要在基于范围的 for 中使用初始值设定项列表?
- MSBuild-无法打开包含文件(尽管已在include列表中列出)