我正在为学校做一个 C++ 项目,我决定在其中使用 LastFM 的库 ( github repo )。我按照说明安装了它和所有依赖项,但是当我将 LIBS += -llastfm
放入 Qt 的 .pro 文件中时,如 'Using repo 的 liblastfm' 部分,我收到错误“找不到文件 liblastfm.so.1”。
我去了“/usr/include”中的库文件夹(据我所知)并找到了三个文件:
- liblastfm.so
- liblastfm.so.1
- liblastfm.so.1.0.8
这些文件的组织如下:liblastfm.so 是指向 liblastfm.so.1 的链接,liblastfm.so.1 是liblastfm.so.1.0.8 的链接,实际上是库文件。我假设他们这样做是为了在更新时方便维护,但据我所知,QtCreator 不知道如何跟踪链接,因为它找到了 liblastfm.so 但不能到达 liblastfm.so.1。
我试图删除 .so 和 .so.1 文件,然后将 .so.1.0.8 文件重命名为liblastfm.so 但它仍然说找不到 .so.1 文件,这有点令人困惑。
我还尝试通过右键单击项目并选择“添加库”来手动添加库,但是当我到达 liblastfm 的文件夹时,只有 liblastfm.so 文件被识别为库文件,如果我加了,还是一样的错误。
因此,我们将不胜感激!
最佳答案
根据关于安装位置的评论,您似乎需要在您的 qmake 项目文件中添加:
LIBS += -L/usr/local/lib/i386-linux-gnu/ -llastfm
原因是,您似乎已将 lastfm 安装到默认情况下不在库路径中的“自定义”位置。因此,您需要告诉 qmake 在哪里寻找 lastfm 库。
关于c++ - QtCreator在Linux上找不到lastfm库文件liblastfm.so.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21030060/