error LNK2001: unresolved external symbol "__declspec(dllimport) public:

接上篇,在配置好目錄等相關內容之後,編譯時沒有語法錯誤,但是會報連接錯誤,關於這個錯誤的原因,有幾個方面:

1.導出函數錢沒有添加關鍵字__declspec(dllexport)

2.主調用程序和dll所用的character set 不一致,這個時候的解決方法有兩個:

    2.1.可以更改某一個的character set設置,使他們一致,但前提是更改之後程序是不報錯的;

    2.2 有些時候,更改character set會導致程序出現很多編譯錯誤,那麼這種情況下,就是查看調用函數的參數列表,把參數類型改成通用的;比如我遇到的調用函數參數類型是CString類型,把dll的參數改成 char * 之後重新編譯,連接問題就會解決了;這個可能是不同的Character Set下,類型轉換有差異,導致錯誤,所以用通用的類型就不會報錯了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章