我正在尝试从命令行使用cl
Visual Studio 2010编译器。
由于某些原因,我的Visual Studio 2010安装无法正确配置INCLUDE
和LIB
目录,请参阅Yet another post on fatal error C1034: no include path set。如果我跑
`vcvars32.bat`
我收到以下错误消息:
ERROR: Cannot determine the location of the VS Common Tools folder.
然后我尝试手动设置这些环境变量。所以我创建了一个简单的bat
文件,如下所示:
Set INCLUDE="C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include;"
Set LIB="C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib;"
cl test.cpp
但我现在收到以下错误
LINK : fatal error LNK1104: cannot open file 'libcpmt.lib'
我不明白为什么会发生这种情况,因为libcpmt.lib
位于上述LIB
个目录中。
此问题的任何解决方案?
修改
我在VS2010 command prompt gives error : Cannot determine the location of the VS Common Tools folder的第一个答案中使用了该过程,现在设置了VS100COMNTOOLS
环境变量。但是INCLUDE
和LIB
环境变量仍未设置,即使我尝试通过
set INCLUDE = "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include;"
set LIB = "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib;"
因此,当我尝试编译我收到的.cpp
文件时
fatal error C1034: iostream: no include path set
编辑:最终解决方案
根据Hans Passant的建议,这是最终的解决方案
@SET INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include;
@SET LIB=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib;
cl /EHsc -o FileName.obj -c FileName.cpp
答案 0 :(得分:4)
摆脱双引号。
真正的问题是未设置VS100COMNTOOLS环境变量。你需要找出为什么这样的环境搞砸了。控制面板+系统+高级+环境变量。或使用VS安装修复选项。注销+登录后进行更改。