c++ - Qt 应用程序在运行时找不到共享库

标签 c++ qt

我正在使用 Qt Creator 构建一个 GUI 应用程序,它依赖于一些额外的库。当我从 Qt Creator 运行应用程序时,它运行良好。但是当我尝试通过双击或从控制台启动应用程序时,我发现它找不到那些库。 在我的.pro文件中,我配置了lib目录如下:

MYDLLDIR = $$OUT_PWD/libs
INCLUDEPATH += $$MYDLLDIR
win32:LIBS += $$quote($$MYDLL/test.dll)
unix:LIBS += $$quote(-L$$MYDLLDIR) -ltest

我的 test.sotest.so.1 以及所有其他文件都在我的输出文件夹的 libs 目录下。我怎样才能在运行时也找到这些库? 谢谢。

额外注意:我在 Ubuntu 16.04 下运行。

最佳答案

有很多可能的解决方案。

您可以将共享库安装到标准位置,如 /usr/lib/lib/usr/lib64 等。

或者在从控制台运行您的应用程序之前, 您可以设置 LD_LIBRARY_PATH 环境变量以包含 包含您的共享库的目录。

查看此 link了解详情。

关于c++ - Qt 应用程序在运行时找不到共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47902194/

相关文章:

c++ - 无法使用 QGLWidget 编译 Qt

c++ - 启动时如何在Qt应用程序中隐藏鼠标指针?

C++、Qt、防止窗口调整大小超过实际布局高度

c++ - 为什么 operator () [] -> = 必须是非静态成员?

c++ - OpenCV 应用程序(不是库)链接错误

android - Qt qml : Custom dialog not displayed on device, 应用程序崩溃

qt - 解决 QT 的 QString arg() 歧义

c++ - 我的 DoublyLinkedList 中的打印函数会创建重复项。 C++

c++ - 如何从 Subdiv2D Delaunay 三角剖分获取顶点索引

c++ - 在头文件中隐藏非成员函数