![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
silart |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 31.3.2008 Пользователь №: 138 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Кто-нибудь пробовал создать на Qt такую Dll, чтобы внутри нее создавались виджеты?
Можно создать на Qt просто динамическую библиотеку, но в ней нельзя создавать виджеты, потому что объект QApplication не создается. (При обращении к графическим функциям вылазит страшное сообщение, что QPaintDevice был создан до QApplication) Нужен ли он вообще для модальных окон? Если нужен, как его создать, он ведь не умеет конструктора по умолчанию? Вот пример dll, что сгенерировал мастер: CODE class LIBRARY_EXPORT Library
{ public: Library(); ~Library(); void CreateReport(QSqlDatabase db, const QString& path, const ParameterList& params, QWidget* parent = 0); void MessageBox(const QString& title, const QString& msg, QWidget* parent = 0); private: }; |
|
|
![]() |
silart |
![]()
Сообщение
#11
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 31.3.2008 Пользователь №: 138 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Давай, сначала попробуем собрать мой проект, раз он не собирается. Может если у тебя получится его собрать, тогда будет все в порядке и с openrpt. ![]() Вот что пишет: CODE Moc'ing testdll.h... Системе не удается найти указанный путь. Project : error PRJ0019: A tool returned an error code from "Moc'ing testdll.h..." Project : warning PRJ0018 : The following environment variables were not found: Где эти пути указываются, ума не приложу. Вроде все правильно указано |
|
|
silart |
![]()
Сообщение
#12
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 31.3.2008 Пользователь №: 138 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
У нас разные настройки студии.
Я не могу собрать проект из-за того, что ui_testdll.h не найден. И указать путь метакомпилятору я не знаю где. Вроде везде где можено посмотрел... ![]() |
|
|
ViGOur |
![]()
Сообщение
#13
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Студия тут не причем, moc должен сам определить что, откуда и куда он должен брать и генерить.
Попробуй сделать ребилд полный, иногда помогает, когда moc начинает дурить. |
|
|
ViGOur |
![]()
Сообщение
#14
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Хотя может проблема в том, что я сделал пример на 4.3.0 и это наверное где-то в файле проекта прописано...
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#15
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
qmake надо поэксплуотриовать, только как подстудией его пользуют незнаю, вам виднее, вообщем чтобы новые мэйкфайлы или файл проекта студии получить
|
|
|
silart |
![]()
Сообщение
#16
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 31.3.2008 Пользователь №: 138 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ViGOur, не могли бы вы мне прислать проект в виде pro-файла, а то версии разные, может из-за этого.
Я повсякому пробовал. |
|
|
ViGOur |
![]()
Сообщение
#17
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
ViGOur, не могли бы вы мне прислать проект в виде pro-файла, а то версии разные, может из-за этого. Смотри аттач.
Я повсякому пробовал.
Прикрепленные файлы
|
|
|
silart |
![]()
Сообщение
#18
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 31.3.2008 Пользователь №: 138 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Смотри аттач. Проект скачал, открыл, вроде все преобразовалось, только вот библиотека стала не проектом dll, а проектом статической библиотеки. Ну да ладно, подправил, вроде собралась dll-ка. Только эта dll-ка не хочет загружаться с помощью QLibrary... Ну и ладно, загрузил ее обычным статическим способом (раннее связывание), так загрузилась... но вот проблема осталась той же. Опять пишет что QPaintDevice до QApplication. Может из-за того что разные версии Qt? Или из-за того, что что у меня проект собирается со статическими версиями библиотек? Может быть такое или нет? Во всяком случае спасибо вам, ViGOur. Вы и так на меня уже много времени потратили. |
|
|
ViGOur |
![]()
Сообщение
#19
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Да вроде не должно быть зависимости статическая или динамическая сборка.
Ведь может понадобиться как та так и другая сборка одновременно в проекте. Последний архив, я компилил так: без qmake -project, чтобы не портить pro файл.Разумеется как для exe так и для dll. Библиотека должна быть статической, если заметил там я создал еще def файл в папке проекта библиотеки и в pro файле указал его. |
|
|
silart |
![]()
Сообщение
#20
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 31.3.2008 Пользователь №: 138 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Да вроде не должно быть зависимости статическая или динамическая сборка. Ведь может понадобиться как та так и другая сборка одновременно в проекте. Последний архив, я компилил так: без qmake -project, чтобы не портить pro файл.Разумеется как для exe так и для dll. Библиотека должна быть статической, если заметил там я создал еще def файл в папке проекта библиотеки и в pro файле указал его. Механизм QLibrary мутный какой-то. lib-файл тоже не хочет загружать... Вообще это все нужно для плагинов, мне он необязательно нужен. Я могу и статически связать dll с exe. Но все равно никак не работает. С QApplication вроде работало, но только немодальный диалог создавало, а модальнывй никак... В чем же проблема... |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 2.6.2025, 1:21 |