2017-04-06 168 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