2013-06-12 16 views
0

我是C++新手,每次下載一個由多個頭文件和源文件組成的庫時,我編譯調用某些函數的可執行文件時遇到了很多錯誤庫。在C++中添加包含多個文件的庫

有沒有一種方法可以包含包含庫的所有子目錄和文件的文件夾以防止出現此錯誤?

我正在使用qt創建器,Visual Studio和一些時間代碼塊。

我有這個問題與fft3,portmidi,ogre3d,(總結所有我試過的庫)。

回答

0

首先:在談論的錯誤時,你應該指定哪些錯誤,我們正在談論!

所有的* .lib文件應該是在單獨的子目錄可以包含在項目設置: 鏈接器 - >常規 - >附加庫目錄。如果可能,請使用相對路徑。

然後指定包含Linker-> Input-> Additional Libraries的庫。

如果您使用任何方式,還要照顧使用/忽略正確的運行時庫。

保持關於許可證:如果您沒有許可證,某些庫不能靜態鏈接! (那麼你將不得不動態鏈接。)

+0

感謝您的回答。但我在談論子程序庫(頭文件.h),如果我不清楚,很抱歉。而問題是編譯器沒有找到所有頭文件需要的文件(大多數情況下頭文件需要的文件是其他頭文件)。 –

+0

要包含頭文件,請參閱項目設置C/C++ - > General - > Additional Additional Directories。在那裏你可以指定任何目錄來包含你的頭文件。這裏一樣:使用相對路徑。 – fiscblog

+0

非常感謝!您的幫助。我在浪費時間試圖弄清楚如何做到這一點。真的感謝!!!! –

1

你可以嘗試添加

INCLUDEPATH += <libs path> 
LIBS += -L/path/to/your/lib -lyourlib 

在你的.pro文件

+0

感謝您的答案。但是我正在討論依賴於其他頭文件的子程序庫(頭文件.h),例如portmidi或fftw庫。 –