首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu上的Qt5应用程序中链接libqxt

在Ubuntu上的Qt5应用程序中链接libqxt
EN

Stack Overflow用户
提问于 2013-05-05 18:05:59
回答 1查看 1K关注 0票数 3

我在将libqxt链接到Qt5应用程序时遇到了问题。

我编写的代码类似于文档中的示例,但我有错误。

代码语言:javascript
复制
QxtGlobalShortcut* shortcut = new QxtGlobalShortcut(this);
connect(shortcut, SIGNAL(activated()), this, SLOT(newScreenshoot()));
shortcut->setShortcut(QKeySequence("Ctrl+Shift+F12"));

我使用的是QT5.0.1

代码语言:javascript
复制
damian@damian-Lenovo-B560:~$ qmake --version
QMake version 3.0
Using Qt version 5.0.1 in /usr/lib/i386-linux-gnu

以及来自Ubuntu13.04存储库的最新的libqxt。

我有以下链接错误:

代码语言:javascript
复制
/home/damian/Dokumenty/Programowanie/QShot/mainwindow.cpp:20: error: undefined reference to `QxtGlobalShortcut::QxtGlobalShortcut(QObject*)'
/home/damian/Dokumenty/Programowanie/QShot/mainwindow.cpp:22: error: undefined reference to `QxtGlobalShortcut::setShortcut(QKeySequence const&)'
EN

回答 1

Stack Overflow用户

发布于 2014-02-15 15:17:12

我现在在Ubuntu13.10上遇到了一个类似的问题,我已经成功地编译了我的应用程序。问题是我在添加记录器引擎时收到的SIGSEGV

代码语言:javascript
复制
QxtBasicFileLoggerEngine *dbg  = new QxtBasicFileLoggerEngine("debug.log");

// qxtLog takes ownership of dbg - no need to manage its memory
qxtLog->addLoggerEngine("dbg", dbg);

为了做到这一点,我从命令行使用QT4编译了所有内容(不要使用qmake,它默认使用qt5):

代码语言:javascript
复制
qmake-qt4 
make

因此,这确实是qt5库与qt4库的奇怪组合(libqxt似乎是用/forqt4编译的)。不幸的是,为了在Ubuntu上编译项目,我没有任何其他选项可以使用qt4。我不知道在规范会议上是否有什么问题。

希望这能省去一些麻烦,消除一些挫折。我惊讶地看到,几乎没有人抱怨这个问题。

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

https://stackoverflow.com/questions/16387479

复制
相关文章

相似问题

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