微软的C++编译器和链接器似乎与mspdb100.dll
有一种奇怪的关系。当从IDE中运行时,编译器和链接器自然工作正常。但是当从命令行中运行其中任意一个时,我会遇到错误。
没问题,我找到了DLL并将其复制到目录中。现在编译器可以正常工作,但链接器却死了。
我可以通过将"%VS10%\Common7\IDE"添加到我的PATH来解决此问题,但由于各种原因(性能、系统纯度、强迫症等),我不想这样做。为什么这个设置如此敏感,还有其他什么方法可以解决它吗?
微软的C++编译器和链接器似乎与mspdb100.dll
有一种奇怪的关系。当从IDE中运行时,编译器和链接器自然工作正常。但是当从命令行中运行其中任意一个时,我会遇到错误。
没问题,我找到了DLL并将其复制到目录中。现在编译器可以正常工作,但链接器却死了。
我可以通过将"%VS10%\Common7\IDE"添加到我的PATH来解决此问题,但由于各种原因(性能、系统纯度、强迫症等),我不想这样做。为什么这个设置如此敏感,还有其他什么方法可以解决它吗?
首先,尝试从当前的shell中运行 path\to\VC\bin\vcvars32.bat
。这可以确保你的命令行设置与IDE设置相匹配。
这不是一个永久性的解决方案--每次启动新的shell时都需要这样做。
你可能还可以找到一些方式将.bat
中的所有内容永久添加到环境变量中,但是...就像你所问的,为什么MS安装程序没有自动完成呢?
我知道这可能有点过时了,但如果有人想要从命令行运行编译器,以下是我为了使其运行而做的操作。
我使用的是Win7 32位和Visual Studio 2010。我在C:\Windows中创建了一个小批处理文件。以管理员身份打开cmd提示符,然后输入以下内容:
copy con cl.bat
@"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32" %1 %2 %3 %4 %5 %6
@"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl" %1 %2 %3 %4 %5 %6
也许这会对某些人有所帮助...
我通过添加以下内容解决了这个问题
PATH += %PATH_TO_VS_IN_YOUR_SYSTEM%/Common7/IDE;
转到nvcc.profile文件。
当然,%PATH_TO_VS_IN_YOUR_SYSTEM%
是您系统中Visual Studio的实际路径。
虽然有些陈旧,但仍可能有效:
对我来说,“C:\Windows\System32”在PATH变量中不知何故消失了。
将缺失的文件夹添加到路径中可以解决此错误。另请参见VS2010命令提示符出错:无法确定VS公共工具文件夹的位置
Ctrl+c对话框,以便在谷歌搜索时找到此条目:
cl.exe - 无法定位组件
该应用程序无法启动,因为找不到mspdb100.dll。重新安装该应用程序可能会解决此问题。
确定
- thomasa88