最近把原本在windows上運作的程式porting到Linux上,在porting的過程中也沒有去改VS的專案設定。
在porting完成後想說在Windows上build看看原本的程式。結果卻在某個中間dll專案發生了LNK2019的問題,在整個檢查過程中發現所有原本要做dllexport的class全部都變成dllimport了,這時還以為是因為pre-processor key的部份沒有做設定,還特地把專案一個一個測試。
結果,問題並不是出在那邊,雖然VS的顯示上本來就有問題,但是那還不致於影響compiler的編譯。最後因為上網去找有關LNK2019的相關文獻發現,這問題在dll載入的動作中,是代表靜態連結有問題。
所以後來就去檢查專案的lib link,後來發現,果真,原本設定的那些lib link全部都不見了。
後來把原本該有的lib link都加上去後,complier就可以正常編譯了。
話說,這是VS的bug嗎?竟然把之前設定的資料都弄不見了?XD
就是因為相同的舊專案可以build,所以就沒懷疑到這邊。結果花了3天的時間在抓這問題,一整個殘念阿 -.-
Subscribe to:
Post Comments (Atom)
Build docker image from multiple build contexts
Build docker image from multiple build contexts ...
-
參考資料: Input Input Manager 測試手把 :PS Analog gamepad Script語言:C# Unity 版本:3.4 Unity提供了3種輸入裝置可以使用,鍵盤、滑鼠、以及遊戲手把。 ...
-
寫法很簡單,就像下列寫法: if ( *szStr ) { .... } 因為*szStr == szStr[0],且char[]是以NULL-Terminate來判定字串是否結束,所以只要判定陣列的第一個值是不是為零,就可知道是否為空字串。 如需檢查是否為空字...
No comments:
Post a Comment