在離開我的機器幾個星期後,我返回去做了一些Qt-using-VC10的工作。麻煩的第一個跡象是QtCreator有關「cl」未被識別的錯誤,這導致我發現C:\ Windows \ System32已經以某種方式從PATH中刪除。無法識別「reg」命令使vcvarsall.bat無法設置VS100COMNTOOLS,如here所述。缺少註冊表HKLM SOFTWARE Microsoft VisualStudio SxS VS7
上述線程指示我到this,它建議簡單地將C:\ Windows \ System32添加回PATH。
但是,我的麻煩還沒有結束。一旦C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ vcvars32.bat(由vcvarsall.bat調用的腳本)能夠調用「reg」,則無法找到設置VS100COMNTOOLS所需的密鑰。在下面的線路上出現故障:
for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
@if "%%i"=="10.0" (
@SET "VS100COMNTOOLS=%%k"
)
)
的輸出,我從VCVARS32.BAT了(與非抑制輸出)爲:
C:\Users\Bob\Desktop>for /F "tokens=1,2*" %i in ('reg query "HKLM\SOFTWARE\Micro
soft\VisualStudio\SxS\VS7" /v "10.0"') DO()
ERROR: The system was unable to find the specified registry key or value.
果然,在我的分支所指示的位置不存在。我的註冊表樹的相關子集看起來像這樣:
HKEY_LOCAL_MACHINE\
SOFTWARE\
Microsoft\
VisualStudio\
10.0\
Debugger\
11.0\
...
9.0\
...
Debugger\
...
有沒有人知道這裏發生了什麼?在缺席兩週後,自動更新窗口是否會更新?如何修復我的系統,以便vcvarsall.bat可以設置VS100COMNTOOLS?
有人搞亂了你的機器。要麼它是擁有的,要麼你有同事/家人/清潔工隊伍與它一起玩耍。到目前爲止,您似乎需要重新安裝相關的Visual Studio版本。確保* proper *'vcvars'腳本正在運行(從所需的Visual Studio版本開始)。 –