Qt 4.2
Я написал плагин-виджет для QtDesigner.
Если кинуть *so в /usr/lib/qt4/plugins/designer/, то он станет доступен в Designer и будет адекватно себя вести в предпросмотре формы (Ctrl+R).
Но при компиляции проекта, использующего его, естественно возникнут ошибки (отсутствия хедера).
Если кинуть все хедеры плагина в /usr/include/qt4/QtDesigner, то проект будет компилироваться до ошибки:
first_f.o: In function `Ui_MainWindow::setupUi(QMainWindow*)':
first_f.cpp:(.text._ZN13Ui_MainWindow7setupUiEP11QMainWindow[Ui_MainWindow::setu pUi(QMainWindow*)]+0x328): undefined reference to `QFSViewer::QFSViewer(QWidget*)'
collect2: ld returned 1 exit status
make: *** [qviewer] Ошибка 1
Потом я где-то прочитал что нужно внести следующие изминения в *.pro и main.cpp:
В main.cpp добавить:
#include <QtPlugin>
Q_IMPORT_PLUGIN(PluginName)
В ProjectName.pro:
QTPLUGIN += PluginName
Если внести эти изминения, то компиляция уже будет обрываться на этом:
Код:
/usr/bin/ld: cannot find -lqfsviewer
collect2: ld returned 1 exit status
make: *** [qviewer] Ошибка 1
Где "qfsviewer" - название моего плагина.
Вопрос: как правильно устанавливать (регистрировать) плагины в систему (что куда копировать) и как использовать их в проектах.
Если кому интересно, вот плагин: http://www.webfile.ru/1191573
PS Странный момент: uic генерирует код формы требующий хедер моего плагина с именем qfsviewer, хотя хедер и сам класс и херед называется QFSViewer.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Ошибка lmysqlpp при компиляции (2018)
- Форум undefined reference (2008)
- Форум MySql | Qt + c++ - что скажете друзья? (2008)
- Форум C++ (2003)
- Форум SDL2_image ошибка сборки (2018)
- Форум Ошибки, ошибки... (2005)
- Форум C++ error (2011)
- Форум Прошу помощи с кросс-компиляцией библиотеки qt-gstreamer (QtGstreamer) для ARM (2017)
- Форум с++ ЛОМО (2004)
- Форум Static linking (2008)