首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qwt版本冲突QTCREATOR

Qwt版本冲突QTCREATOR
EN

Stack Overflow用户
提问于 2016-05-30 22:07:35
回答 2查看 164关注 0票数 0

我在Ubuntu14.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编译的。提前感谢

EN

回答 2

Stack Overflow用户

发布于 2016-05-31 01:15:14

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

代码语言:javascript
复制
QMAKE_LFLAGS += "-Wl,-rpath,/usr/local/qwt-6.1.2/lib/"
message ("QMAKE_LFLAGS = $$QMAKE_LFLAGS")

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

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

票数 0
EN

Stack Overflow用户

发布于 2016-06-01 15:42:55

我解决了我的问题,似乎在QtCreator中设置环境变量是不够的。在启动.exe之前,你也必须在终端上做,这是我的错。只需正确设置LD_LIBRARY_PATH即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37527718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档