Qwt版本冲突QTCREATOR

时间:2016-05-30 14:07:35

标签: c++ qt version qt-creator qwt

我无法在Ubuntu 14.04上部署使用QtCreator生成的.exe。我安装了几个版本的qwt(我需要那些,一个用qt4编译,另一个用qt5编译)。 问题是,我不知道为什么,但Qt似乎将错误版本的qwt链接到我的.exe无论我做什么..当我在我的.exe上使用LDD时,它总是显示/usr/lib/libqwt.so.6 。事情是我在我的.pro中链接我需要的版本:

LIBS + = -L / usr / local / qwt-6.1.2 / lib / -lqwt

在项目配置中,我使用/usr/local/qwt-6.1.2/lib

设置LD_LIBRARY_PATH

仍然我的.exe没有链接到正确的库。 知道为什么以及如何解决这个问题?当我的程序使用qt5而不是qt4编译时,它会在启动时导致分段错误。 提前致谢

2 个答案:

答案 0 :(得分:0)

您可以尝试向链接器标志添加运行时路径。在.pro文件中,您可以添加以下行(也可能值得在您的专业文件中打印您的QMAKE_LFLAGS):

QMAKE_LFLAGS += "-Wl,-rpath,/usr/local/qwt-6.1.2/lib/"
message ("QMAKE_LFLAGS = $$QMAKE_LFLAGS")

重新编译然后再次运行ldd。在运行时也ldd)你的程序现在应该首先指向这个位置。

注意 这假设您使用的是gnu编译器!

答案 1 :(得分:0)

我解决了我的问题,好像设置QtCreator中的环境变量还不够。你必须在启动.exe之前在终端中执行此操作,这是我的坏事。 只需要正确设置LD_LIBRARY_PATH。