Mey*_*sam 5 c++ qmake circular-dependency
我需要libA.a在我的qmake文件中链接库两次:
LIBS = -lA \
-lB \
-lA \
-lC \
-lD
Run Code Online (Sandbox Code Playgroud)
但qmake正在-lA运行时删除第一个g++。我该怎么办?
告诉 qmake 禁用所有 LIBS 标志的合并:
配置 += no_lflags_merge
但是,这将导致无法清除所有重复的库。但这在实践中应该无关紧要。
或者,您可以欺骗 qmake 使其找不到重复的库;因为它只匹配字符串并且没有真正解析库标志,你可以这样做:
LIBS += -lA -lB -l A -lC -lD
注意之间的差异-lA和-l A。这确保 qmake 不会将这些标志视为相等,即使从编译器的角度来看,它们是相等的,因为编译器执行实际的命令行参数解析而 qmake 不执行。