![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
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: }; |
|
|
![]() |
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Да вроде не должно быть зависимости статическая или динамическая сборка.
Ведь может понадобиться как та так и другая сборка одновременно в проекте. Последний архив, я компилил так: без qmake -project, чтобы не портить pro файл.Разумеется как для exe так и для dll. Библиотека должна быть статической, если заметил там я создал еще def файл в папке проекта библиотеки и в pro файле указал его. |
|
|
ViGOur |
![]()
Сообщение
#3
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Библиотека должна быть статической, если заметил там я создал еще def файл в папке проекта библиотеки и в pro файле указал его. Извини, ошибся, библиотека должна быть динамической.Думал о статической библиотеке, нужно было написать слово динамическая, а написал статическая. ![]() |
|
|
Гость_hmmm_* |
![]()
Сообщение
#4
|
Гости ![]() |
Вопрос совсем не в тему но пробовал на примерах из этой темы поэтому вопрос именно сюда.
Открыл тестовый проект в VS. Тоесть два проекта - один либа другой main. Собираб либу как dll и линкую к главному проекту. Прописываю в свойствах главное проекта связь с lib файлу из либы и пишу простенький header для использования функции из библиотеки. Когда запускаю на выполнение не может найти dll. Кидаю dll в папку debug c главным проектом - всё работает отлично. Скажите а как-нибудь можно реализовывать разработку чтобы не надо было постоянно кидать длл-ку ??Наверняка ведь как-то можно это подругому делать?? Просто в другом своём приложении хочу вынести ряд классов и функций в либу и не хотелось бы всё время переносить длл-ку.. глупо оно как-то=((( |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.4.2025, 13:14 |