windows Qt使用庫的問題

2021-10-22 07:35:13 字數 753 閱讀 1836

qt工程在使用windows的dll會存在一些問題。

往往是這樣的,我們自己一些封裝,在windows下使用vs一些工具打包成dll或lib,這樣打包出來動態庫在vs環境下使用是沒有問題的。

但在qt下使用會存在問題,qt雖然認dll 但貌似,不認vs打包出來的dll,具體兩種格式標準不一致導致。

(ps:如果vs打包標準dll是可以的,但往往我們應用層**沒有那麼完美,還有類什麼的)

解決辦法:利用qt本身打包成 so 或 a檔案,就可以了。當然前提原始碼要有

ps:也許有其他更好的辦法

另外乙個問題:

我們經常會碰到這樣情況。b庫會呼叫a庫的方法,c程式又同時呼叫 a庫 與 b庫 裡的方法

此時在c程式工程下新增外部庫,會有一些問題:

往往我們首先應該先新增 a庫 然後再b庫。這樣做會有問題的!!

報的錯誤是找不到 ***x 方法

正確做法:先新增b庫,然後在新增a庫

如果需要第三方dll,例如winsock

此時需要:b a 第三方dll

題外話:

如果已經編譯通過了,然後再把a庫 與 b庫位置調整下,貌似再也不報錯。

第一次編譯的出錯?說明ide本身不完美吧。

windows Qt下使用fftw庫

環境 win7 qt 5.1.0 正如官網所述 需要在cmd下執行以下命令生成lib庫 lib def libfftw3 3.def lib def libfftw3f 3.def lib def libfftw3l 3.def 生成 libfftw3 3.lib libfftw3 3f.lib l...

使用lua靜態庫的問題

最近在搞lua的時候遇到乙個問題,就是使用lua靜態庫的時候總是出現error lnk2019 無法解析的外部符號 void cdecl lual openlibs struct lua state 還有其它的一些函式,lual newstate,lua close,lual loadfile 這幾...

boost庫filesystem使用問題

include include include include int main int argc,char argv makefile檔案部分 filesystem main.o g o lboost filesystem gcc42 mt main.o main.cpp g c clean rm...