一、起因
最近在玩Boost库。当然首先是要进行Booist库的安装和配置。于是浅墨Google了一下boost库的安装配置攻略,下载了最新版1.55的boost库,就愉悦地开始进行配置了。
当进行到第五步,要在VS命令提示符中运行bootstrap.bat的时候,问题就来了,按着攻略打开Visual Studio2010命令提示符,就迎面报错:
“Setting environment for using MicrosoftVisual Studio. 此时不应有\Mirosoft”
于是就有了下文解决问题的过程和这篇博文的诞生。
二、相关背景
1.关于环境变量的设置。具体在【我的电脑】->【属性】->【高级系统设置】->【环境变量】,系统变量里面的PATH变量的值。
2.打开Visual Studio2010命令提示符的两套方法。
其一,通过VS的菜单栏:
其二,通过开始菜单:
三、网络上流传的解决方案
浅墨之后google了一大圈,发现网络上流传的关于““Setting environment for using MicrosoftVisual Studio. 此时不应有\Mirosoft””解决方案有如下两个流派。
1. path变量清零法
这个流派的原文地址:
http://hi.baidu.com/jsmlay/item/8314bb2bcb4e0b0376272ca9
其原文如下:
“
Setting environment for using MicrosoftVisual Studio 2010 x86 tools.
此时不应有/Utilities/Bin/x86";C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System3
2/Wbem;C:/Program Files/Microsoft SQLServer/90/Tools/binn/;C:/Program Files/Gem
plus/GemSafe Libraries/BIN/"等等的问题,导致各种命令工具不能使用的问题。
解决方案,将path环境变量中指明不应有路径复制到别处,然后在path先删掉,确定,退出cmd,重新进cmd执行操作,成功后再把path拷贝回去。”
点评:这种方案比较简单粗暴而且很弱。明知道path变量的错误在那里,不迎面解决,而是故意回避。这是治标不治本的方案。pass。
2 删除path变量错误地方的方法
这个流派的原文地址:
http://www.myexception.cn/c-sharp/560512.html
其中说:
“运行VS2008命令行工具就会出现
Setting environment for using Microsoft Visual Studio 2008 x86 tools.
此时不应有 /Utilities/Bin/x86";C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System3
2/Wbem;C:/Program Files/Microsoft SQL Server/90/Tools/binn/;C:/Program Files/Gem
plus/GemSafe Libraries/BIN/"等等的问题,导致各种命令工具不能使用的问题。解决办法:在系统环境变量设置中,删除Path变量中的"C:/Program Files/Microsoft DirectX SDK (June 2006)/Utilities/Bin/x86"。这是DirectX SDK中的Bug,导致双引用。”
点评:这种方案有些接近最终的解决方案了,它是在认真的解决错误而不是采取消极回避的方式。定位了错误在这句,他的做法是直接删除这条path。算是比较机智,但是会带来后遗症,或许因为删除了这个路径,之后基于DirectX SDK的程序,都跑不起来了。
再来看看浅墨经过思考后的解决方案吧。
四、浅墨的解决方案
浅墨发现,大概是因为系统的path变量中不允许写双引号”“,而在历代DirectX SDK安装的时候,DXSDK安装文件都会自动在Path变量中加上一句带双引号的DirectX SDK路径。这应该就是此问题的根源了。所以,解决方案很简单,将path变量DirectX SDK路径两边的双引号去除即可。或许只要在电脑上安装了DirectX SDK,打开Visual Studio命令提示符都会遇到这个问题。
当然,不局限与DXSDK的路径,反正只要是在PATH变量的值里面,写了双引号之类的它不识别的字符,都会报类似的错误。
就是看环境变量中,是不是有填错的地方,比如末尾多写了一个反斜杠“/”,还是其中的变量加了双引号。
PATH环境变量上面提到过,大家也应该肯定之前都清楚,在【我的电脑】->【属性】->【高级系统设置】->【环境变量】,系统变量里PATH变量的值。
这是浅墨之前报错时对应的PATH路径的值:
C:\Program Files (x86)\NVIDIACorporation\PhysX\Common;"D:\ProgramFiles (x86)\Microsoft DirectX SDK (June 2010)\Utilities\Bin\x86";%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\ProgramFiles (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCLSDK\3.0\bin\x64;C:\Program Files (x86)\Microsoft SQLServer\100\Tools\Binn\;C:\Program Files\Microsoft SQLServer\100\Tools\Binn\;C:\Program Files\Microsoft SQLServer\100\DTS\Binn\;C:\Program Files (x86)\Autodesk\Backburner\;C:\ProgramFiles\Common Files\Autodesk Shared\;D:\Program Files (x86)\CMake2.8\bin;D:\Program Files (x86)\opencv\build\x86\vc10\bin;D:\Program Files(x86)\opencv\build\x64\vc10\bin;C:\Program Files (x86)\Microsoft SQLServer\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\MicrosoftVisual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn\;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
其中,红色加粗的就是错误部分——"D:\ProgramFiles (x86)\Microsoft DirectX SDK (June 2010)\Utilities\Bin\x86"照成浅墨机器上报错“Setting environment for using Microsoft Visual Studio 此时不应有“系列问题的罪魁祸首。
当浅墨把其中的双引号去掉之后,先退出Visual Studio,再打开Visual Studio,通过菜单栏再次打开Visual Studio命令提示符的时候,就显示正常了:
这是浅墨更改之后的path变量的值:
C:\Program Files (x86)\NVIDIACorporation\PhysX\Common;D:\ProgramFiles (x86)\Microsoft DirectX SDK (June 2010)\Utilities\Bin\x86;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\ProgramFiles (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCLSDK\3.0\bin\x64;C:\Program Files (x86)\Microsoft SQLServer\100\Tools\Binn\;C:\Program Files\Microsoft SQLServer\100\Tools\Binn\;C:\Program Files\Microsoft SQLServer\100\DTS\Binn\;C:\Program Files (x86)\Autodesk\Backburner\;C:\ProgramFiles\Common Files\Autodesk Shared\;D:\Program Files (x86)\CMake2.8\bin;D:\Program Files (x86)\opencv\build\x86\vc10\bin;D:\Program Files(x86)\opencv\build\x64\vc10\bin;C:\Program Files (x86)\Microsoft SQLServer\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\MicrosoftVisual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn\;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
解决完这个问题,就继续开始Boost库的安装配置和编译了:
OK,大概就是这些了。
解决VS命令提示符 “Setting environment for using Microsoft Visual Studio. 此时不应有“系列错误