![](/img/trans.png)
[英]How to link a dynamic library in QtCreator use qmake and MinGW32?
[英]qmake: How to link a library twice?
我需要的鏈接libA.a
庫在我qmake
文件兩次:
LIBS = -lA \
-lB \
-lA \
-lC \
-lD
但qmake
正在運行g++
時刪除第一個-lA
。 我該怎么辦?
告訴qmake禁用所有LIBS標志的合並:
CONFIG += no_lflags_merge
但是,這將導致無法清除所有重復的庫。 但這在實踐中無關緊要。
或者,您可以欺騙qmake,以便它找不到重復的庫; 因為它只匹配字符串而不是真正解析庫標志,所以你可以這樣做:
LIBS += -lA -lB -l A -lC -lD
注意-lA
和-l A
之間的區別。 這確保了qmake沒有看到這些標志相等,即使從編譯器的角度來看,它們是相同的,因為編譯器執行實際的命令行參數解析而qmake沒有。
關於什么 :
QMAKE_LFLAGS += -( -lA -lB -)
?
編輯:你試過嗎?
QMAKE_LFLAGS += -( -lA -lB -lC -lD -)
這個語法的作用是它將解決庫之間的所有依賴關系,即使它們有點遞歸(A :: stuff需要B :: stuff需要C :: stuff需要A :: stuff)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.