前段時間在鏈結自己編寫好的動態庫的時候,按照原先的方法,卻遭遇失敗的問題,提示少了什麼什麼.obj檔案。在網上找了很多方法,試了很多,但是卻都失敗,感覺很不靠譜。最後在破釜沉舟的情況下,終於解決了,下面分享我解決的方法,希望可以幫到後來人。
要看一下link命令列就知道了.
專案->屬性->鏈結器->輸入->附加依賴項.
在這裡你會發現你前面設定的"附加依賴項"被ide改寫了.
例如你要加入乙個abc.lib的鏈結庫,完整路徑為"c:\program files\abc.lib",
如果被ide改寫的話會變成"c:\program"
"files\abc.lib"
相應的命令列變成link (...) "c:\program"
"files\abc.lib"
那麼鏈結器會要求提供"c:\program.obj"檔案,由於該檔案不存在,所以會返回上面的除錯資訊'link : fatal error lnk1104: 無法開啟檔案「c:\program.obj」'!
解決的方法,其實也很簡單。就是講整個路徑加上「」。
例如:比如你這樣設定c:\program files\***\lib\***.lib,表示你在專案中連線到這個***.lib,但是,在program與file之間有乙個空格,所以就解析成了c:\program, 再所以,就出現了:c:\program.obj無法開啟,所以你設定的時候寫成這樣"c:\program files\***\lib\***.lib", 用"" 引號,將整個路徑括起來就行了。這樣編譯器就不會存在二義性來解釋你原先想設定的命令。
C Ado 在編譯的時候,報錯。
其中錯誤提示如下 fatal error c1083 cannot open type library file c program files common files system ado msjro.dll no such file or directory 1 首先確定在標頭檔案ado2.h...
陣列和指標在編譯的時候的區別
c語言中指標和陣列在編譯時的區別 例如 int a 10 和int b,a 5 和 b 5 在編譯的時候區別是什麼?經過反覆的查資料和請教他人,最後在 c專家程式設計 裡找到了很好的答案。1。編譯器對陣列名和指標變數的處理方式 編譯器在編譯時會產生乙個符號表,記錄了符號名和它的位址。對於指標變數,這...
vs無法開啟專案的解決方案
未找到與約束 contractname microsoft.internal.visualstudio.platformui.isolutionattachedcollectionservice requiredtypeidentity microsoft.internal.visualstudio...