編譯tpm20lib碰到的問題


這兩天在windows7下面編譯tpm20lib的時候,(tpm20lib地址在此:點擊打開鏈接)

按照源碼下面的Readme.docx文件的介紹,

配置TSSTOOLS_PATH環境變量,結果最後還是報錯,

NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\vc\bin\nmake.exe"”: return “0x1” 

......

仔細看上面的輸出,發現居然是: Microsoft Visual Studio 11.0\VC\BIN\vc\bin\nmake.exe

兩層的vc\bin,媽蛋,什麼鬼?

打開源碼裏面的makefile,加幾行代碼,ECHO出來裏面的一些變量,發現也有類似的vc\bin\vc\bin或者vc\bin\vc\include的路徑。


於是,修改環境變量,computer -> properties -> advanced systerm setting -> environment varibles -> TSSTOOLS_PATH,

改成:C:\Program Files (x86)\Microsoft Visual Studio 11.0

再試,還是不行,繼續仔細研究vs2012裏面的錯誤輸出信息,有這麼詭異的一行:

'C:\Program' is not recognized as an internal or external command...............


原來是文件夾名字裏面的空格搗的鬼,於是,用subst這個命令來解決。

subst     k:     C:\Program Files (x86)\Microsoft Visual Studio 11.0

subst這個命令,可以將指定的路徑映射成一個虛擬的盤符,這裏,我就把vs2012的安裝路徑映射成k盤了

刪除只需要 subst   k:   /d 就行了


然後再把TSSTOOLS_PATH設置爲  k:

一切搞定,重新build,還是同樣的錯誤,於是懷疑是不是環境變量設的不好,於是用那個源碼裏面的Readme.docx裏說的set命令來搞,

set    TSSTOOLS_PATH="C:\Program Files (x86)\Microsoft Visual Studio 11.0"

額外說點兒,set設置的只是一個臨時的值,只在當前所運行set的cmd窗口有效,

查看所有的環境變量就直接敲set就行了,

設定就是   set  myVal=“xxxxxx”

刪除就是   set  myVal=

後面啥也別跟


結果set設定的也沒鳥用,最後不折騰了,繼續在computer -> properties -> advanced systerm setting -> environment varibles -> TSSTOOLS_PATH

裏面來設置。

懷疑是因爲vs2012太遲鈍,沒有及時刷新,於是退出vs2012再重新打開重新編譯,成功。


綜上,vs2012只是在初次啓動的時候纔會去掃面檢查系統變量,一旦啓動後,更改系統變量對它無效,必須重啓IDE。


發佈了55 篇原創文章 · 獲贊 7 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章