crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Не собирается проект с кастомными виджетами qt creator
DrWebber
  опции профиля:
сообщение 9.5.2012, 12:56
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 9.5.2012
Пользователь №: 3370

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте, долго лазил по форумам, решения не нашел.

Собрал 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



Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 9.5.2012, 18:58
Сообщение #2





Гости








    


Хидеры всё равно нужны. Я обычно делаю так:
Выношу код виджета в отдельный *.pri файл и делаю с его подключением 2 проекта, собственно плагин и проект либу которая содержит виджет и *.pri, который эту либу корректно подключает. Потом собираю всё это дело и подрубаю к проекту pri от либы.
Хотя вариаций можно придумать много, главное не забывать, что код виджета должен присутствовать не только в плагине, но и в проекте использующем этот виджет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.4.2024, 20:02