LINUX.ORG.RU

Qt: не может найти библиотеку


0

0

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.

anonymous

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.