C++ 如何将共享库添加到QtCreator

C++ 如何将共享库添加到QtCreator,c++,qt,C++,Qt,我有一个项目涉及使用两个库。我试图将库添加到我的.pro文件中,但是当我编译时,我收到一个“找不到-lmylib1” 目录结构如下所示 Myproject.pro lib (directory) mylib1 (directory) mylib1.so mylib2 (directory) mylib2.so 要完成@dave comment,不仅Qt Creator只搜索名为“lib*.so”的文件。这是类UNIX系统上链接器的默认行为

我有一个项目涉及使用两个库。我试图将库添加到我的.pro文件中,但是当我编译时,我收到一个“找不到-lmylib1”

目录结构如下所示

Myproject.pro
lib (directory)
     mylib1 (directory)
         mylib1.so
     mylib2 (directory)
         mylib2.so

要完成@dave comment,不仅Qt Creator只搜索名为“lib*.so”的文件。这是类UNIX系统上链接器的默认行为

引用ld链接器的文档:

-larchive

[…]ld将在其路径列表中搜索 对于每个指定的存档,出现libarchive.a。论制度 ld还可以搜索支持共享库的库 a.以外的扩展名。特别是在ELF和SunOS系统上,ld 将在目录中搜索扩展名为.so的库 正在搜索扩展名为.a的。按照惯例,a.那么 扩展名表示共享库。[…]这种类型的存档搜索是Unix链接器的标准配置


因此,如果您的库与
lib*.a
lib*.So
模式不匹配,则Qt Creator和链接器都无法找到它。

您是从QtCreator添加这些库还是手动编辑.pro文件?通常,您可以在项目上单击“添加库”,它会自动在项目文件中插入正确的行,并手动添加这些行。当我尝试使用“add library”添加它时,它不会显示可以添加的文件,因为QtCreator只搜索名为“lib*.so”的文件。所以“mylib1.So”并没有被认可为一个图书馆。谢谢你的努力
Myproject.pro
lib (directory)
     mylib1 (directory)
         mylib1.so
     mylib2 (directory)
         mylib2.so