Russian Qt Forum
Ноябрь 23, 2024, 08:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Не собирается проект с кастомными виджетами qt creator  (Прочитано 12315 раз)
DrWebber
Гость
« : Май 09, 2012, 03:41 »

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

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



Записан
DrWebber
Гость
« Ответ #1 : Май 09, 2012, 16:43 »

Есть какие-нибудь идеи?
Записан
V1KT0P
Гость
« Ответ #2 : Май 09, 2012, 16:51 »

Есть какие-нибудь идеи?
У меня спокойно без ошибок собирается.
Записан
DrWebber
Гость
« Ответ #3 : Май 09, 2012, 20:27 »

тот пример по ссылке?
а ты qt creator сам собирал?
Записан
V1KT0P
Гость
« Ответ #4 : Май 09, 2012, 21:12 »

тот пример по ссылке?
а ты qt creator сам собирал?
Блин первый раз не глянул ошибку, тебе же говорят что заголовочный файл "customspin.h" не найден:
Цитировать
ошибка: customspin.h: No such file or directory
Записан
DrWebber
Гость
« Ответ #5 : Май 09, 2012, 21:42 »

да это я понял, я кидаю его к проекту там возникает другая ошибка
Цитировать
error: collect2: ld returned 1 exit status

Если не сложно, можешь описать по пунктам что нужно для того того, чтобы правильно собрать, подключить и использовать кутэшные плагины.
Записан
V1KT0P
Гость
« Ответ #6 : Май 09, 2012, 22:27 »

да это я понял, я кидаю его к проекту там возникает другая ошибка
Цитировать
error: collect2: ld returned 1 exit status

Если не сложно, можешь описать по пунктам что нужно для того того, чтобы правильно собрать, подключить и использовать кутэшные плагины.
Посмотри на вкладке "Консоль сборки" там будет более подробное описание ошибки.
Записан
DrWebber
Гость
« Ответ #7 : Май 11, 2012, 15:28 »

Вот что пишет.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #8 : Май 11, 2012, 15:43 »

Нет реализации конструктора CustomSpin.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
DrWebber
Гость
« Ответ #9 : Май 11, 2012, 15:47 »

Как же нет, если вот он:

Код:
CustomSpin::CustomSpin( QWidget *parent )
  : QWidget( parent ),
    ui( new Ui::CustomSpin ),
    _min( 0 ),
    _max( 100 ),
    _value( 1 )
{
  ui->setupUi( this );
  setLayout( ui->horizontalLayout );
}

Правда он в файле customspin.cpp
Записан
V1KT0P
Гость
« Ответ #10 : Май 11, 2012, 15:51 »

Вот что пишет.
А библиотеку customspin ты подключил?
Записан
DrWebber
Гость
« Ответ #11 : Май 11, 2012, 16:01 »

Ну вроде да.
Записан
DrWebber
Гость
« Ответ #12 : Май 11, 2012, 16:14 »

Может кто-нибудь объяснить где какие файлы должны находиться и какие должны быть подключены к проекту?
Записан
V1KT0P
Гость
« Ответ #13 : Май 11, 2012, 16:15 »

Ну вроде да.
Да не плагин, а именно библиотеку подключил к своему проекту в pro файле? При компиляции он видит заголовочный файл, решает что функция уже есть, но так как она в виде библиотеки то при линковке ее нету ибо ты либу не подключил вот и ошибка.
Записан
DrWebber
Гость
« Ответ #14 : Май 11, 2012, 17:10 »

Подключил и все равно ошибки:



Код:
TARGET = widget-plugin-usage
TEMPLATE = app
SOURCES += main.cpp \
    mainwindow.cpp
HEADERS += mainwindow.h \
            customspin.h
FORMS += mainwindow.ui
INCLUDEPATH += $$(QT_PLUGIN_PATH)/designer
LIBS += widget_plugin.dll
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.129 секунд. Запросов: 22.