使用Lib時,遇到了上面這個問題,把錯誤碼打上google很快就找到了解法,
在專案上點擊右鍵 -> 組態屬性 -> C/C++ -> 程式碼產生 -> 執行階段程式庫 -> 選擇 /MTd,
error就消失了,
原本設定的是多執行緒偵錯(/MDd),那這兩者的差異是什麼?
為什麼要做這個設定的修改?
後來稍微搜尋一下,
看完以上兩篇,
大致上就是分成Debug與Release(看後面有沒有帶一個d,代表Debug),
然後再看你是使用Lib(MT)還是Dll(MD)來去做選擇,
不同的選擇會影響執行時期程式呼叫動態函式庫還是靜態的函式庫,
呼叫靜態函式庫(Lib)會把函式庫內容一起編譯到你的程式中變成程式碼的一部份,
呼叫動態函式庫(Dll)則是在使用到函式庫內容時才去呼叫函式庫。
但看到這邊有個疑問,如果使用多個不同的Dll或Lib,甚至是混用該怎辦?
因為這次是以使用者的角度遇到這個問題,並不是開發並編譯的角色,
到這邊可見我對於這個參數的理解能力還不夠,
但開發時間緊迫,之後在搜尋看看其他資料來補足這邊的知識,
現在先把問題解決,把Lib檔正確呼叫出來比較重要。
沒有留言:
張貼留言