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

Jac*_*ern 6 c++ command-line visual-studio-2010

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

由于某些原因,我的Visual Studio 2010安装无法正确配置 INCLUDELIB目录,请参阅另一篇关于致命错误C1034的帖子:没有包含路径集.如果我跑

`vcvars32.bat`
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

ERROR: Cannot determine the location of the VS Common Tools folder.
Run Code Online (Sandbox Code Playgroud)

然后我尝试手动设置这些环境变量.所以我创建了一个简单的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
Run Code Online (Sandbox Code Playgroud)

但我现在收到以下错误

LINK : fatal error LNK1104: cannot open file 'libcpmt.lib'
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会发生这种情况,因为libcpmt.lib它位于上述LIB目录中.

任何解决这个问题的方法?

编辑

我在VS2010命令提示符的第一个答案中使用过程给出错误:无法确定VS Common Tools文件夹的位置,现在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;"
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试编译.cpp我收到的文件

fatal error C1034: iostream: no include path set
Run Code Online (Sandbox Code Playgroud)

编辑:最终解决方案

按照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
Run Code Online (Sandbox Code Playgroud)

Han*_*ant 4

去掉双引号。

真正的问题是未设置 VS100COMNTOOLS 环境变量。你需要找出为什么环境会变得如此混乱。控制面板+系统+高级+环境变量。或者使用 VS 安装修复选项。更改后注销+登录。