之前安裝了乙個mingw版本的qt creator。得到了乙個.dll,. lib, .h.要在qt中呼叫起來,過程中遇到如下問題:
在開始時,發現在qt中始終載入不了這個動態庫更無法使用其中的類。了解到這個動態鏈結庫是c++寫得,懷疑是編譯器的原因,因為一直vs 都是使用的msvc的編譯器而qt預設是mingw , 並且我安裝的也是mingw編譯器版本的qt creator 。
最後做了如下調整:
1.安裝vs2013專業版
2.安裝qt-msvc2013版
dll的使用方法可以再其他帖子中看到,建議使用隱式呼叫dll的方式。
現在生成動態庫的編譯器和使用動態鏈結庫的編譯器一致,在qt中再次實驗後發現果真如此。動態鏈結庫可以正常使用。
另外:__declspec(dllimport) : 在使用的時候用
_declspec(dllexport):在匯出的時候用
如果在程式中在呼叫庫函式後,出現:無法解析的符號錯誤,請不要急躁。。
把專案下的.user。。 debug release makefile 等等配置檔案(除了乙個.pro和**檔案其他都要刪除,重新匯入專案即可,如果不行,那再做一遍)
Qt呼叫dll中的功能函式
宣告 事先我已經自己動手寫了乙個簡單的dll檔案 mydll.dll c版介面的。並且用我前兩篇有關dll文章裡面的方法,從dll中匯出了導入庫 lib 檔案,dll中有兩個函式,原型如下 void helloworld 函式內部呼叫win32 api,功能是彈出乙個helloworld提示框 in...
Qt呼叫dll中的功能函式
宣告 事先我已經自己動手寫了乙個簡單的dll檔案 mydll.dll c版介面的。並且用我前兩篇有關dll文章裡面的方法,從dll中匯出了導入庫 lib 檔案,dll中有兩個函式,原型如下 void helloworld 函式內部呼叫 win32 api,功能是彈出乙個 helloworld 提示框...
Qt呼叫dll中的功能函式
隱式呼叫 1 首先我們把 h 與 lib a 檔案複製到程式當前目錄下,然後再把dll檔案複製到程式的輸出目錄,2 下面我們在pro檔案中,新增 lib 檔案的位置 libs l d hitempt api l mydll l 引數指定 lib a 檔案的位置 l 引數指定導入庫檔名 不要加副檔名 ...