2012-04-12 26 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

相关问题