Динамические библиотеки QT |
Здравствуйте, гость ( Вход | Регистрация )
Динамические библиотеки QT |
theravel |
24.1.2010, 15:24
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 24.1.2010 Пользователь №: 1400 Спасибо сказали: 0 раз(а) Репутация: 0 |
День добрый,
сразу прошу простить за весьма ламерский вопрос, на QT пробую кодить второй день, и все два дня посвятил созданию простого примера с динамическими библиотеками. Пытаюсь повторить этот пример, но он то не компилируется, то загрузка плагина не происходит Вообщем мой вопрос в том, почему так, что неправильно, и еще я буду безумно благодарен, если кто-то выложит не отдельно файлики проекта, а весь проект с любым плагином целиком Собираю в Qt Creator 1.3.0 (Qt 4.6.0) (32-х битной) Windows7 Мой проект выглядит как-то так: файл plugin/interface.h
Кусок файла plugin/mainwindow.cpp
Файл plugin/plugin.pro
Файл plugin/dynamic2/dynamic2.h
Файл plugin/dynamic2/dynamic2.cpp
Файл plugin/dynamic2/dynamic2.pro
При этом проект dynamic2 не компилируется с ошибкой
Но, если в dynamic.pro выставить CONFIG += release, то dll компилируется Но, даже если проект plugin собрать в режиме релиза, и положить получившуюся dll в нужную папку (пути верны, я проверял), то все равно приложение при запуске покажет сообщение "no" - плагин не загружен Весь проект лежит здесь Еще раз скажу, что буду безумно благодарен скомпонованному проекту с любым плагином. С уважением, Дмитрий |
|
|
BRE |
24.1.2010, 15:56
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
У QPluginLoader есть метод:
QString QPluginLoader::errorString () const Собирай и плагин и программу в чем то одном, или debug или release. В pro файлы проектов добавь: CONFIG += release Сделай в обоих проектах make distclean qmake make и все заработает. Еще я бы добавил:
|
|
|
theravel |
24.1.2010, 17:00
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 24.1.2010 Пользователь №: 1400 Спасибо сказали: 0 раз(а) Репутация: 0 |
Так, если по порядку,
Добавил это
теперь библиотека компилируется без ошибок, отлично =) Цитата В pro файлы проектов добавь: CONFIG += release Сделай в обоих проектах make distclean qmake make сделал, но при запуске приложения библиотека не загружается, а QPluginLoader::errorString() выдает "unknown error" |
|
|
Текстовая версия | Сейчас: 15.1.2025, 6:01 |