题
就像我在前面的提问时说,我打算从VC ++移植Qt的项目QtCreator。
该项目包括4个子项目:其中3是库和最后一个使EXE。 子项目是分层的,这意味着每个层具有编译和链接时依赖于层在其下方。
的文件组织如下:
root
lib1
lib2
lib3
main
我已经从头开始创建各子项目中QtCreator。每个文件夹包含具有相同名称的亲文件(例如:LIB1 - > lib1.pro)。使用这种方法我已经建立除了最后一个必须链接可执行文件的所有项目。我正在我固定链接错误通过手动编辑亲文件并添加代码如下:
LIBS += ../path/lib1.a \
../path/lib2.a \
../path/lib3.a
全部优良,除了现在LIB3抱怨说,它不能找到从LIB2和LIB1的符号。 Addind LIBS到lib2.pro文件不起作用。
我有我没有变QtCreator可与库和可执行文件的方式感觉。你将如何组织这样一个项目,以便它编译和链接是否正确?
解决方案
在该问题的更多一些的工作后,我记得为GCC工具链连接子参数的顺序是重要的。
逆转LIBS条目没有获得成功。
其他提示
很高兴见到你找到了答案。您可能还需要添加:
CONFIG += ordered
到根目录pro文件(它是唯一有效的在“SUBDIRS”剖面)。它迫使QMAKE产生的Makefile其保存在其中列出它们在所有情况下的顺序。
不隶属于 StackOverflow