Связывание libqxt в приложении Qt5 в Ubuntu

У меня проблема со ссылками libqxt в Qt5 приложение.

Я пишу код, как в примере в документации, но у меня есть ошибки.

QxtGlobalShortcut* shortcut = new QxtGlobalShortcut(this);
connect(shortcut, SIGNAL(activated()), this, SLOT(newScreenshoot()));
shortcut->setShortcut(QKeySequence("Ctrl+Shift+F12"));

я использую Qt 5.0.1:

damian@damian-Lenovo-B560:~$ qmake --version
QMake version 3.0
Using Qt version 5.0.1 in /usr/lib/i386-linux-gnu

И последний libqxt-DEV от Ubuntu 13.04 репозиторий.

У меня есть следующие ошибки компоновщика:

/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&)'

3

Решение

Сейчас я сталкиваюсь с подобной проблемой в Ubuntu 13.10, и мне удалось скомпилировать мое приложение. Проблема в том, что SIGSEGV я получаю при добавлении механизма регистрации

QxtBasicFileLoggerEngine *dbg  = new QxtBasicFileLoggerEngine("debug.log");

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

Для этого я скомпилировал все с помощью QT4 из командной строки (не используйте qmake, который по умолчанию использует qt5):

qmake-qt4
make

Так что это действительно странная комбинация библиотек qt5 и библиотек qt4 (libqxt, похоже, скомпилирован с / для qt4). К сожалению, у меня нет другого варианта использования qt4 для компиляции проекта в Ubuntu. Я не знаю, есть ли проблема, поднятая в каноническом.

Надеюсь, что это спасет некоторые проблемы и устранит некоторые разочарования. Я удивлен, что почти никто не жалуется на эту проблему.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]