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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Создание библиотеки dll c GUI на Qt.  (Прочитано 13525 раз)
Johnik
Крякер
****
Online Online

Сообщений: 339


Просмотр профиля
« Ответ #15 : Декабрь 10, 2013, 11:59 »

не знаю как там в студии, но в QtCreator собралось нормально

и опять же, какой символ неразрешённый?
Записан
HirurG.
Гость
« Ответ #16 : Декабрь 10, 2013, 12:03 »

там список из 65 пунктов, вот начало:
Предупреждение   1   warning MSB8012: TargetPath(D:\projects\Qt\Examples\SimpleWidgetDLL\Win32\Debug\simpleWidget.dll) не соответствует значению свойства выходного файла (D:\projects\Qt\Examples\SimpleWidgetDLL\Win32\Debug\SimpleWidgetDLL.dll) для Linker. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Link.OutputFile).   C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets   990
Предупреждение   2   warning MSB8012: TargetName(simpleWidget) не соответствует значению свойства выходного файла (SimpleWidgetDLL) для Linker. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Link.OutputFile).   C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets   992
Ошибка   3   error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: void __thiscall QWidget::show(void)" (__imp_?show@QWidget@@QAEXXZ) в функции "public: virtual void __thiscall SimpleWidget::show(void)" (?show@SimpleWidget@@UAEXXZ)   D:\projects\Qt\Examples\SimpleWidgetDLL\SimpleWidgetDLL\moc_SimpleWidget.obj
Ошибка   66   error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: void __thiscall QWidget::setWindowTitle(class QString const &)" (__imp_?setWindowTitle@QWidget@@QAEXABVQString@@@Z) в функции "public: void __thiscall Ui_SimpleWidget::retranslateUi(class QWidget *)" (?retranslateUi@Ui_SimpleWidget@@QAEXPAVQWidget@@@Z)   D:\projects\Qt\Examples\SimpleWidgetDLL\SimpleWidgetDLL\SimpleWidget.obj
Ошибка   65   error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: void __thiscall QWidget::resize(int,int)" (__imp_?resize@QWidget@@QAEXHH@Z) в функции "public: void __thiscall Ui_SimpleWidget::setupUi(class QWidget *)" (?setupUi@Ui_SimpleWidget@@QAEXPAVQWidget@@@Z)   D:\projects\Qt\Examples\SimpleWidgetDLL\SimpleWidgetDLL\SimpleWidget.obj
Ошибка   5   error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: virtual void * __thiscall QWidget::qt_metacast(char const *)" (__imp_?qt_metacast@QWidget@@UAEPAXPBD@Z) в функции "public: virtual void * __thiscall SimpleWidget::qt_metacast(char const *)" (?qt_metacast@SimpleWidget@@UAEPAXPBD@Z)   D:\projects\Qt\Examples\SimpleWidgetDLL\SimpleWidgetDLL\moc_SimpleWidget.obj
Ошибка   6   error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: virtual int __thiscall QWidget::qt_metacall(enum QMetaObject::Call,int,void * *)" (__imp_?qt_metacall@QWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z) в функции "public: virtual int __thiscall SimpleWidget::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@SimpleWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z)   D:\projects\Qt\Examples\SimpleWidgetDLL\SimpleWidgetDLL\moc_SimpleWidget.obj
Ошибка   18   error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: virtual __thiscall QWidget::~QWidget(void)" (__imp_??1QWidget@@UAE@XZ) в функции "public: virtual __thiscall SimpleWidget::~SimpleWidget(void)" (??1SimpleWidget@@UAE@XZ)   D:\projects\Qt\Examples\SimpleWidgetDLL\SimpleWidgetDLL\SimpleWidget.obj

« Последнее редактирование: Декабрь 10, 2013, 12:04 от HirurG. » Записан
Johnik
Крякер
****
Online Online

Сообщений: 339


Просмотр профиля
« Ответ #17 : Декабрь 10, 2013, 12:09 »

а добавили нужные пункты конфига Qt (в частности gui, widgets) в студии?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #18 : Декабрь 10, 2013, 12:33 »

1)  Иметь возможность модифицировать хост
Это не обязательно.
Если необязательно (создавать QApplication в плагине), то только модальные окна

В каком смысле "экземпляр не изгадил меню"? Экземпляр чего может изгадить меню и до какой степени?
До полной. В OSX приложение ставит свой меню бар когда активируется (одно меню вверху для всех). Когда QApplication создается, оно выставляет свой бар
Записан
HirurG.
Гость
« Ответ #19 : Декабрь 10, 2013, 12:56 »

Ну уже что-то вырисовывается (во всех смыслах Улыбающийся ). Видимо я забыл при создании проекта включить чекбокс GUI library. Создал новый проект, где всё компилится, но опять проблема  Грустный
QWidget (а точнее его рамка) рисуется, но кнопка, которую я разместил внутри для примера, не видна.
В общем, пока буду разбираться. Если есть что добавить, пишите, пожалуйста.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #20 : Декабрь 10, 2013, 14:28 »

только модальные окна
Ну так большего и не надо.
Для чего держать постоянно открытым окно, которое хостовому приложению совершенно не нужно и он не знает, что с ним делать?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #21 : Декабрь 10, 2013, 14:44 »

только модальные окна
Ну так большего и не надо.
Для чего держать постоянно открытым окно, которое хостовому приложению совершенно не нужно и он не знает, что с ним делать?
Ну плюсы и минусы модальности всем известны. Самое интересное что и немодальное окно отрабатывает успешно, хотя QAppliation::exec НЕ вызывается  Улыбающийся
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #22 : Декабрь 10, 2013, 14:57 »

Самое интересное что и немодальное окно отрабатывает успешно
Ну и что? Для чего оно нужно без поддержки хоста?

хотя QAppliation::exec НЕ вызывается  Улыбающийся
Не обязательно запускать QAppliation::exec, что бы обслуживать очередь сообщений.
« Последнее редактирование: Декабрь 10, 2013, 15:09 от Old » Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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