2017-04-06 145 views
0

我有,我用我的鏈接庫,一個.pro文件:QMAKE不搜索庫路徑

LIBS += -L$${OUTDIR} \ 
     -lA \ 
     -lB \ 
     -lC \ 

我已經開發了三個庫A,B,C,這就是我想要的第四庫建立,稱之爲D. libD.so需要與他人聯繫。由於我正在將所有內容都放在bin之內,因此我在那裏添加了-L$${OUTDIR},以便它將查找用於查找庫的bin文件夾。 OUTDIR是一個變量,我設置爲bin dir,我確信它是正確的目錄。我打印它作爲消息。但是我得到libD.so找不到libB.so的錯誤。我很困惑,它找到了其他A和C,爲什麼它找不到B?它們都在同一目錄下,所以我使用-L$${OUTDIR}將它添加到庫路徑中。可能是什麼問題呢?

順便說一句,如果刪除-L$${OUTDIR},而是直接將該目錄添加到LD_LIBRARY_PATH,從QtCreator Projects選項卡並構建配置,它會正確找到所有庫。

回答

0

刪除\ -lC

LIBS += -L$${OUTDIR} \ 
     -lA \ 
     -lB \ 
     -lC 
+0

不幸的是,這並沒有解決它。 – meguli

+0

@meguli但是有必要甚至開始解決它。 –

0

後無法找到它,因爲在那裏查找庫構建點,該庫尚未建成。您需要確保這些庫是按其依賴關係的順序構建的。

+0

但是lib文件已經建好了,在那裏。如果我手動將該目錄添加到'LD_LIBRARY_PATH',一切正常。不知何故,qmake不會生成一個將'-LOUTDIR'添加到編譯器標誌的makefile。順便說一句,同樣的方法適用於我的其他項目。 – meguli