Russian Qt Forum

Qt => Общие вопросы => Тема начата: dr_Begemot от Апрель 29, 2009, 13:38



Название: Не работает плагин
Отправлено: dr_Begemot от Апрель 29, 2009, 13:38
После каких-то изменений перестал работать плагин...
Сам плагин компилится и добавляется в папку плагинов QT, но при запуске теста пишет: unresolved external symbol "public: __thiscall ColorButton::ColorButton(class QWidget *)"

ColorButton это плагин...

pro-файл теста:
Код:
TEMPLATE      = app

INCLUDEPATH  += ../../simple_plugins/ColorButton/include
LIBS     += -L$$[QT_INSTALL_PLUGINS]/designer -lColorButtonPlugin

HEADERS       = main.h
SOURCES       = main.cpp

OBJECTS_DIR   = obj
MOC_DIR       = moc

DESTDIR       = ../bin

Прикрепил файл с проектом. В папке simple_plugins лежит сам плагин, а в tests лежит тест.


Название: Re: Не работает плагин
Отправлено: Rcus от Апрель 29, 2009, 13:51
http://www.prog.org.ru/topic_8259_0.html


Название: Re: Не работает плагин
Отправлено: pastor от Апрель 29, 2009, 13:55
Цитировать
LIBS        += -L$$[QT_INSTALL_PLUGINS]/designer -lColorButtonPlugin

это неверно линковать плугин к приложению.

Плугин нежен только для дизайнера, для разработки ГУИ. В тестовом приложении добавите в проект исходники ColorButton


Название: Re: Не работает плагин
Отправлено: dr_Begemot от Апрель 29, 2009, 14:00
Цитировать
LIBS        += -L$$[QT_INSTALL_PLUGINS]/designer -lColorButtonPlugin

это неверно линковать плугин к приложению.

Плугин нежен только для дизайнера, для разработки ГУИ. В тестовом приложении добавите в проект исходники ColorButton

А если нужно распространять плагин в виде библиотеки?


Название: Re: Не работает плагин
Отправлено: pastor от Апрель 29, 2009, 14:39
Тогда сходи по ссылке которую дал Rcus, напиши либу. И эта либа будет юзаться и плагином и приложением.


Название: Re: Не работает плагин
Отправлено: dr_Begemot от Апрель 29, 2009, 16:22
Тогда сходи по ссылке которую дал Rcus, напиши либу. И эта либа будет юзаться и плагином и приложением.

Сделал...
Теперь приложение работает, но в дизайнере плагин не появляется...
Делаю так: из папки src/ColorButton
qmake
nmake

в итоге в папках bin и lib появляются библиотеки ColorButton1.dll и ColorButton1.lib

Далее из папки designer
qmake
nmake

В папке плагинов QT появляются DesignerPlugin - dll и lib

Открываю дизайнер а там моего плагина нет. В Help->About Plugins мой плагин в папке Filed Plugins и написано "Не найден указанный модуль"

Прикрепляю сорцы.


Название: Re: Не работает плагин
Отправлено: ритт от Апрель 29, 2009, 16:44
не, значит, модуль указанный не найден. депволкером его, депволкером :)


Название: Re: Не работает плагин
Отправлено: pastor от Апрель 29, 2009, 17:07
Открываю дизайнер а там моего плагина нет. В Help->About Plugins мой плагин в папке Filed Plugins и написано "Не найден указанный модуль"

Очевидно плугин неможет найти ColorButton1.dll.

1. Положи её рядом с плугом
2. Сделай эту либу статическую


Название: Re: Не работает плагин
Отправлено: dr_Begemot от Апрель 29, 2009, 18:09
Открываю дизайнер а там моего плагина нет. В Help->About Plugins мой плагин в папке Filed Plugins и написано "Не найден указанный модуль"

Очевидно плугин неможет найти ColorButton1.dll.

1. Положи её рядом с плугом
2. Сделай эту либу статическую

ColorButton1 сделать статической?
нет ли какого нить решения, чтоб не класть ColorButton1.dll рядом с плагином? Это не удобно...


Название: Re: Не работает плагин
Отправлено: pastor от Апрель 29, 2009, 18:48
сделать ColorButton1  статической