我正在开发一个我需要分发的Qt应用程序。我需要确保分布式应用程序在运行时链接到Qt版本4.8.1,但我的应用程序二进制文件总是依赖于Qt 4,它指向我机器上的不同版本。
我已经在我的机器上安装了Qt 4.6.2(我的Linux发行版安装的默认Qt版本)和Qt 4.8.1(我的应用程序需要的那个),都在/ usr / lib中。我正在寻找的理想解决方案是在我的CMakeLists.txt中以某种方式指定我需要我的二进制文件需要特定的Qt版本才能工作。我试过
find_package(Qt4 4.8.1 COMPONENTS QtCore QtGui REQUIRED)
但我的输出
ldd executableName
仍然是
libQtOpenGL.so.4 => /usr/lib/libQtOpenGL.so.4
指向默认(错误)4.6.2 Qt版本。我想尽可能
libQtOpenGL.so.4.8.1 => /usr/lib/libQtOpenGL.so.4.8.1
所以我的二进制文件可以正常运行,安装的默认Qt版本保持不变。
谢谢。