2012-04-12 63 views
0

鏈接,例如:如何將庫從另一個庫QT

LIB1它在LIB1路徑

庫LIB2它在LIB2路徑庫,從lib1內依賴,這意味着:

所述LIB2 pro文件有:

LIBS + = -L ../ LIB1 -llib1

INCLUDEPATH + = ../lib1

測試它在測試路徑的可執行文件,從LIB2依賴,這意味着:

測試pro文件有:

LIBS + = -L ../ LIB2 -llib2

INCLUDEPATH + = ../lib2

我建立LIB1和LIB2 normaly,但是當我嘗試建立測試我得到的Windows此錯誤(但Mac):

在功能「功能LIB2」

undefined reference to 'function in lib1' 

回答

1

您還需要添加win32:LIBS += -L../lib1 -llib1來測試.pro文件。

Windows需要的所有符號在鏈接時得到解決,因此,如果test需求lib2其本身也需要lib1然後lib2lib1都必須與測試聯繫起來。

Unixes(MacOSx,Linux,...)可以鏈接庫與不可解析的符號,所以test將在加載時只需要lib1

+0

實際上Linux上的GCC也抱怨說,對我來說這是一個bug,LIB1與Test沒有任何關係。 – 2012-04-14 04:58:47

+0

在一個簡單的項目中,例如它可以正常工作,但在我的項目中,這不起作用,但出於某種奇怪的原因,我將.cpp文件包含在主項目中:#include「xmlreader.cpp」。 – 2012-04-14 05:08:52

+0

感謝您的幫助。 – 2012-04-14 05:09:28

相關問題