例如:
lib1它是lib1路径中的库
lib2它是lib2路径中依赖lib1的库,意思是:
lib2 .pro文件包含:
LIBS + = -L ../ lib1 -llib1
INCLUDEPATH + = ../ lib1
测试它是依赖于lib2的测试路径中的可执行文件,这意味着:
测试.pro文件有:
LIBS + = -L ../ lib2 -llib2
INCLUDEPATH + = ../ lib2
我正常构建lib1和lib2但是当我尝试构建测试时,我在Windows上遇到此错误(但不是在MAC上):
在函数'lib2中的函数'
undefined reference to 'function in lib1'
答案 0 :(得分:1)
您还需要添加win32:LIBS += -L../lib1 -llib1
来测试.pro文件。
Windows要求在链接时解析所有符号,因此,如果test
需要lib2
,则lib1
需要lib2
和lib1
与测试相关联。
Unixes(MacOSx,Linux,...)可以使用不可解析的符号链接库,因此test
在加载时只需要lib1
。