一、起因
近期在玩Boost庫。當然首先是要進行Boost庫的安裝和配置。於是淺墨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路徑。
這應該就是此問題的根源了。所以。解決方式非常easy,將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。大概就是這些了。







