Qt动态库的链接问题
生活随笔
收集整理的這篇文章主要介紹了
Qt动态库的链接问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
之前在Qt 引用動態庫經常出錯,要么編譯找不到庫,要么運行時候出錯,其實就是路徑的問題, 這里總結一下
正文
Qt中引用動態庫,動態庫有兩個文件,一個是.lib鏈接文件,一個是.dll動態庫文件,
在Qt pro文件引用的時候
LIBS += -L../lib -lReceiver
這個表示lib文件在工程文件的上一層目錄中的lib文件夾中,只需要將.lib文件的路徑引導正確即可。
如果.lib文件就在pro文件的當前目錄下,那么可以省掉-L 項
直接寫成 LIBS += -lReceiver
建議在寫路徑的適合加PWD指示當前目錄,例如
LIBS += -L$$PWD/lib -llibReceiver
然后 打包的時候 只需要將dll庫文件拷貝到與exe執行文件統計目錄下即可自動查找并運行,打包文件中不再需要.lib文件
工程文件中寫的庫鏈接 是編譯的時候去這個路徑找lib鏈接庫, 但是打包出來的文件運行不會根據這個路徑去查找dll文件
記住一點:
編譯是去查找 lib文件 所以路徑只要寫lib的路徑就好,而運行就需要dll文件,所以在打包文件中運行程序的時候會在exe同級目錄下去查找dll文件,如果沒有,就會報錯
總結
以上是生活随笔為你收集整理的Qt动态库的链接问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt工程生成xcode工程文件
- 下一篇: Qt程序单次启动(QSingleAppl