2012-03-19 70 views
2

我打算在我的應用程序中使用id3lib。我正在尋找一種將該庫用作DLL的方法。我注意到他們以各種形式發佈了圖書館:其中一個是windows binary。我在Windows中的目標平臺,我將使用Qt 4.8。之後,我在windows二進制文件解壓,我發現下面的文件夾版本:在C++應用程序中使用DLL

  • id3lib.dll
  • id3lib.exp
  • id3lib.lib

我知道如何使用Qt中給定DLL的DLL,函數原型所在的一個或多個頭文件,以及帶或不帶* .lib文件。這個軟件包沒有頭文件。

我該如何使用這個包沒有任何頭文件?這裏的* .lib和* .exp文件的目的是什麼?據我所知* .lib文件用於靜態鏈接與我不想在我的程序中的函數。

+0

你的問題是Windows特定的,應該這樣標記。 – 2012-03-19 06:52:54

+0

@BasileStarynkevitch:是的,對不起,我忘了。 – Donotalo 2012-03-19 07:06:21

回答

1

通常的做法是使用包含在C++文件中的頭文件,鏈接到的.lib文件以及運行時需要的.dll文件。

頭文件應該/可能在另一個包中,因爲相同頭可能用於不同類型的鏈接策略。

在最壞的情況,你應該能夠使用的工具如帶的Depends.exe來查看導出的符號,並創建自己的.h文件,以配合 - 但它會更好地發現與發佈發行.h文件。

2

你剛剛錯過了標題。它位於包含子文件夾下(請參閱here),即使您將使用DLL,鏈接仍需要.lib文件。

+0

我有完整的id3lib源代碼。 Windows二進制部分不帶有任何頭文件。我如何知道應該使用哪個頭文件? – Donotalo 2012-03-19 07:08:33

+0

@Donotalo:按照羅伯特的回答中的鏈接。它直接導致id3.h. – 2012-03-19 18:22:21

+0

@HarryJohnston:id3.h不是要包含的文件。這裏描述的是tag.h:http://id3lib.sourceforge.net/api/index.html。然而,我嘗試了他們兩個,但仍然無法解決一些未引用的鏈接。 – Donotalo 2012-03-20 04:31:23

相關問題