LINK:致命错误LNK1104:手动配置LIB环境变量后无法打开文件'libcpmt.lib'

时间:2013-09-19 09:20:39

标签: c++ visual-studio-2010 command-line

我正在尝试从命令行使用cl Visual Studio 2010编译器。

由于某些原因,我的Visual Studio 2010安装无法正确配置INCLUDELIB目录,请参阅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环境变量。但是INCLUDELIB环境变量仍未设置,即使我尝试通过

手动设置它们
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

1 个答案:

答案 0 :(得分:4)

摆脱双引号。

真正的问题是未设置VS100COMNTOOLS环境变量。你需要找出为什么这样的环境搞砸了。控制面板+系统+高级+环境变量。或使用VS安装修复选项。注销+登录后进行更改。