qt - 使用 Qt Creator 在 Unix 系统中开发 Qt 应用程序

标签 qt shared-libraries qmake rpath

我正在使用 Qt Creator (2.1 RC) 在 Linux 中开发 Qt 应用程序。我创建了 2 个项目,并使用向导将库项目添加到应用程序项目。但是,当我运行它时,我收到错误:
/home/jakepetroules/silverlock/silverlock-build-desktop/desktop/silverlock: error while loading shared libraries: libsilverlocklib.so.1: cannot open shared object file: No such file or directory
是否有一些我可以设置的 qmake 变量,以便 Qt Creator 正确设置环境以运行?为了能够测试构建而不得不使用启动器脚本将所有文件复制到另一个目录是非常烦人的。在 Windows 上它运行良好 - Qt Creator 在运行您的应用程序时自动将包含 DLL 的目录添加到 PATH(从资源管理器运行它会说找不到 DLL)。 Mac OS X 更糟,必须在所有东西上运行 install_name_tool ...

那么如何设置我的 qmake 文件,以便在 Qt Creator 中的运行按钮上一切正常?如果没有这种能力,也很难调试。

最佳答案

我在我的 linux 机器上使用 QTCreator 运行 qt 应用程序时遇到了类似的问题。我通过在客户端应用程序的 .pro 文件中添加以下几行来解决它:

unix:LIBS += -L/home/projects/my_libs/ -lmy_lib

unix:{
  QMAKE_LFLAGS += -Wl,--rpath=/home/projects/my_libs/
  QMAKE_LFLAGS_RPATH=
}

关于 rpath 的信息在这里:rpath

希望这有帮助,问候

关于qt - 使用 Qt Creator 在 Unix 系统中开发 Qt 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634952/

相关文章:

c++ - Qt windeployqt 导致部署不可用

python - PyQt4 - 拖放

python - 从 python 脚本在共享库上运行 gcov

c++ - 我可以让共享库构造函数在重定位之前执行吗?

c++ - 在 Mac OS X 上使用不同的编译器构建 boost

c++ - 在 QString 中连接 STL string+int+int+int

网格布局内的qt垂直和水平布局?

android - 如何符号化剥离的共享库的堆栈跟踪

qmake - 使用 Qt 编译项目后将文件复制到构建目录

linux - debug_and_release 选项不适用于 linux