【文件说明】
testchild.pri指向testchild.lib
test.pri指向test.lib
testapp.pro指向testapp.exe
【调用顺序说明】
testapp.exe调用test.lib, test.lib调用testchild.lib
【bug说明】
当testapp.pro工程文件包含testchild.pri与test.pri时,包含顺序错误导致编译不通过,提示undefined reference to**** error: ld returned 1 exit status
【解决说明】
正确顺序为:先包含test.pri,再包含testchild.pri
include($$PWD/../../libs/test.pri)
include($$PWD/../../libs/testchild.pri)
【解释】
通过观察QtCreator的编译信息,发现g++ -l命令参数链接的顺序与pro文件的先后包含顺序一致。而g++编译器的链接顺序是从右往左进行,即先链接pro文件靠后的库。