簡體   English   中英

qmake:如何連接兩次圖書館?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM