Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не собирается проект с кастомными виджетами qt creator
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt инструментарий
DrWebber
Здравствуйте, долго лазил по форумам, решения не нашел.

Собрал Qt Creator и плагин с помощью minqw, закинул плагин в папку C:\Qt\qtcreator-xxx\bin\designer. Открываю "творца", мой виджет нормально отображается, но как только я пытаюсь собрать проект с его использованием, возникают следующие ошибки:
Цитата
In file included from mainwindow.cpp:2:
ошибка: customspin.h: No such file or directory
ошибка: ISO C++ forbids declaration of 'CustomSpin' with no type
ошибка: expected ';' before '*' token
In member function 'void Ui_MainWindow::setupUi(QMainWindow*)':
ошибка: 'customSpin' was not declared in this scope
ошибка: expected type-specifier before 'CustomSpin'
ошибка: expected ';' before 'CustomSpin'


Этот пример я взял вот отсюда: http://www.metrotek.spb.ru/files/sources/q...ets-article.zip в папке widget-plugin

На не пересобранном qt creatore даже удалось запустить данный пример, но самого виджета не было в списке.

В чем может быть проблема? Если что, то вот pro-файлы самого проекта с виджетом и того который использует его соответственно:

TARGET = widget_plugin
TEMPLATE = lib
CONFIG += designer \
   plugin

SOURCES += customspin.cpp \
   customspinplugin.cpp
HEADERS += customspin.h \
   customspinplugin.h
RESOURCES += widget-plugin.qrc
FORMS += customspin.ui
QMAKE_POST_LINK = cp \
   customspin.h \
   $(DESTDIR)


TARGET = widget_plugin_usage
TEMPLATE = app
SOURCES += main.cpp \
   mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
INCLUDEPATH += $$(QT_PLUGIN_PATH)/designer
LIBS += -L$$(QT_PLUGIN_PATH)/designer \
   -lwidget_plugin



Гость
Хидеры всё равно нужны. Я обычно делаю так:
Выношу код виджета в отдельный *.pri файл и делаю с его подключением 2 проекта, собственно плагин и проект либу которая содержит виджет и *.pri, который эту либу корректно подключает. Потом собираю всё это дело и подрубаю к проекту pri от либы.
Хотя вариаций можно придумать много, главное не забывать, что код виджета должен присутствовать не только в плагине, но и в проекте использующем этот виджет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.