2011-06-20 434 views
0

我一直試圖在這一整天早上得到一個明確的答案,但我沒有太多的運氣 - 也許我速度很慢,因爲我以前沒有使用過這個功能。Qt - 在我的應用程序中使用第三方DLL

我有一個.dll文件,也有一個相應的.lib文件的同名。我想用我的Qt應用程序使用這些功能。我有一個庫中可用的函數列表,我也有這些函數的C++原型列表(這些都是使用extern「C」編寫的)。

從我今天可以理解的(可能是錯誤的)我可以在運行時加載庫,並嘗試解決我需要的功能或我可以在編譯時加載庫,確保我包含C++原型我的標題。

現在,我的第一個問題是我正確地思考這兩件事情嗎?

如果我是,有沒有一種更好的方法呢?

如果我錯了 - 任何人都可以給我一個正確的方向輕推?

感謝

+0

這是在Visual Studio或mingw下?他們處理dll的方式不同。 – TonyK

+0

@TonyK - 它使用mingw。 – Matt

+1

有沒有試過QLibrary類來管理DLL? –

回答

1

也許你需要靜態鏈接的.lib,與您的程序部署的DLL,包括函數原型,只是使用的功能? 通常會提供靜態.libs,因此您不必執行「髒」工作 - 它們會爲您加載動態庫和導出函數。例如Qt通常以這種方式使用。

+0

歡呼聲 - 我通常會得出這個結論,並試圖現在就實現這一點。 – Matt

相關問題