首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >链接QX11Info

链接QX11Info
EN

Stack Overflow用户
提问于 2016-03-18 10:51:06
回答 1查看 1.3K关注 0票数 1

我正在移植一个应用程序qt3 -> qt5。作为其中的一部分,我在.cpp文件中进行了更改(Qt3)

代码语言:javascript
运行
复制
mySystemstruct.display = theWidget->x11Display();

转入(Qt5)

代码语言:javascript
运行
复制
mySystemstruct.display = QX11Info::display();   

包含已添加到文件中。

代码语言:javascript
运行
复制
#include <QX11Info>

我没有使用。所讨论的文件没有使用qmake链接。(其他档案有)

我知道这个链接错误:

代码语言:javascript
运行
复制
/home/go/NetBeansProjects/Arbete_216/Ajourwork/Components/TheRealDeal/GUI/linuxobj//GO_C_QtGUI.o: In function `GO_C_QtGUI::initHistoryFilm(QWidget*, int, int)':    
/home/go/NetBeansProjects/Arbete_216/Ajourwork/Modules/GUI/QtGUI/GO_C_QtGUI.cpp:668: undefined reference to `QX11Info::display()'

使用以下编译命令:

代码语言:javascript
运行
复制
clang++ -o gvs_GUI linuxobj/*.o linuxobj/libQtSpecific.a -DLINUX -I/include/ -g -I /opt/intel/composer_xe_2015.1.133/ipp/include/ -Wno-deprecated -D_GNU_SOURCE -D_REENTRANT -D__STDC_CONSTANT_MACROS -I/usr/include/postgresql/ -I/usr/local/Qt/5.2.1/gcc_64/include/QtX11Extras/ -I/usr/local/Qt/5.2.1/gcc_64/include/QtWidgets/ -I/usr/local/Qt/5.2.1/gcc_64/include/ -I/usr/local/Qt/5.2.1/gcc_64/include/QtGui/ -fPIC -fPIE -I/home/go/ffmpeg_build/include/ -I/usr/local/Qt/5.2.1/gcc_64/include/QtCore/ -fPIC -fPIE -I/home/go/ffmpeg_build/include/libavcodec -I/home/go/ffmpeg_build/include/libavformat/ -lpq -lippi -lipps -lippcore -lpthread -lgcrypt -lippvm -lippcv -lippcc -L/opt/intel/composer_xe_2015.1.133/ipp/lib/intel64 -L/usr/local/Qt/5.2.1/gcc_64/lib/ -L/usr/X11R6/lib/ -lXv -lX11 -lXext -ltar -lavformat -lavcodec -lavfilter

不可能使用Qt而不使用qmake构建吗?我的代码是用较早版本的Qt构建的,所以看起来应该能工作。(?)

由于没有使用qmake进行链接,所以我使用了-I/usr/local/Qt/5.2.1/gcc_64/include/QtX11Extras/ -L/usr/local/Qt/5.2.1/gcc_64/lib/,但它似乎不起作用。

QtX11-lib似乎已经到位:

代码语言:javascript
运行
复制
locate libQt5X11Extras.so
/usr/local/Qt/5.2.1/gcc_64/lib/libQt5X11Extras.so
/usr/local/Qt/5.2.1/gcc_64/lib/libQt5X11Extras.so.5
/usr/local/Qt/5.2.1/gcc_64/lib/libQt5X11Extras.so.5.2
/usr/local/Qt/5.2.1/gcc_64/lib/libQt5X11Extras.so.5.2.1

我在这里做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-18 11:21:58

-L/usr/local/Qt/5.2.1/gcc_64/lib/只告诉链接器在哪里找到库。

然后必须添加-lQt5X11Extras以请求链接到Qt5X11库。

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

https://stackoverflow.com/questions/36082459

复制
相关文章

相似问题

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