Russian Qt Forum
Ноябрь 23, 2024, 01:36
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Уроки и статьи
(Модератор:
xintrea
) >
Урок: Создание динамических библиотек
Страниц:
1
[
2
]
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Урок: Создание динамических библиотек (Прочитано 91846 раз)
Elfet
Гость
Re: HowTo: Создание динамических библиотек
«
Ответ #15 :
Апрель 06, 2010, 18:34 »
Да я вроде бы всё очистил. Даже папки все удалил. И полностью пересобрал всё.
Ещё я заметил что запуская несколько раз подряд свою программу - ошибки разные появляются
Записан
Elfet
Гость
Re: HowTo: Создание динамических библиотек
«
Ответ #16 :
Апрель 06, 2010, 19:16 »
И вот ещё что не понятно. Если запуская не через Qt (Ctrl+R) А захожу в папку и запускаю файл SmartFlow.exe - всё работает нормально (Остальный Qt***.dll лежат в этой же папке)
Записан
serg_hd
Хакер
Offline
Сообщений: 668
Re: Урок: Создание динамических библиотек
«
Ответ #17 :
Июнь 23, 2010, 13:03 »
Непонятны слова
Цитата: Eugene Efremov от Декабрь 20, 2008, 19:23
И еще — здесь рассматривается только явная компоновка приложения и библиотеки. Если необходимо подгрузить класс динамически — лучше оформить его как плагин. В противном случае вас ждут большие проблемы...
А тут разве классы подгружаются не динамически? dll же.
И чем отличается явная компоновка от динамической подгрузки - не описано?
Записан
kubuntu/Win7/x64/NetBeans
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Урок: Создание динамических библиотек
«
Ответ #18 :
Июнь 23, 2010, 13:54 »
Цитата: serg_hd от Июнь 23, 2010, 13:03
А тут разве классы подгружаются не динамически? dll же.
И чем отличается явная компоновка от динамической подгрузки - не описано?
Здесь имеется ввиду 2 подхода
1) dll загружается при старте приложения (в заголовке exe указано какие dll необходимы). Если ОС не сможет их найти/ загрузить - exe не запустится. Ф-ции dll доступны в течение всей жизни exe
2) Приложение стартует без dll, а затем само (используя ф-ции OC) загружает dll (может и выгружать). Ф-ции dll обычно запрашиваются через GetProcAddress (Вындоуз)
Записан
andrey2033
Гость
Re: Урок: Создание динамических библиотек
«
Ответ #19 :
Июль 05, 2010, 13:26 »
Доброго времени суток!
У меня возникла проблема с friend-функциями класса в моей библиотеке. При их наличии компилятор выдаёт ошибку undefined reference... к этим функциям...
Без них всё работает. И отсюда вопрос: в dll нельзя пользоваться friend-функциями?
Записан
xintrea
Moderator
Супер активный житель
Offline
Сообщений: 754
Re: Урок: Создание динамических библиотек
«
Ответ #20 :
Июль 10, 2010, 22:44 »
Автор этой статьи удалил свой аккаунт на форуме. Так что он, наверно не ответит. Лучше задать этот вопрос в другом разделе, например в "Общих вопросах"
http://www.prog.org.ru/board_50_0.html
.
Записан
Собираю информацию по крупицам
http://webhamster.ru
andrey2033
Гость
Re: Урок: Создание динамических библиотек
«
Ответ #21 :
Июль 14, 2010, 09:40 »
Цитата: xintrea от Июль 10, 2010, 22:44
Автор этой статьи удалил свой аккаунт на форуме. Так что он, наверно не ответит. Лучше задать этот вопрос в другом разделе, например в "Общих вопросах"
http://www.prog.org.ru/board_50_0.html
.
Спасибо!
Записан
voral
Гость
Re: Урок: Создание динамических библиотек
«
Ответ #22 :
Март 03, 2011, 12:20 »
В последнем абзаце слово повторяется....
Цитата: Eugene Efremov от Декабрь 20, 2008, 19:23
И еще, касательно данного примера. Следует иметь в виду, что он писался в предположении, что библиотека будет линковаться
только
динамически.
Для для
случая статической линковки макросы
Q_DECL_IMPORT/EXPORT
следует убрать. Как средствами qmake отличить статическую линковку от динамической и обеспечить включение/выключение нужных макросов — продемонстрировано
ниже по треду
в письме от
pastor
, на модификации моего примера. За что ему отдельное спасибо.
Записан
raus
Гость
Re: Урок: Создание динамических библиотек
«
Ответ #23 :
Июнь 22, 2012, 12:40 »
Здравствуйте. Могу ли я dllку Qt использовать в mfc проекте?
Записан
Bepec
Гость
Re: Урок: Создание динамических библиотек
«
Ответ #24 :
Июнь 22, 2012, 16:43 »
Если наружу выставить за. ой, интерфейс на С++, то да. Однако кажется, что сигнал-слотовые соединения не будут работать, если не запущен QApplication.
Есть вроде и обход этих ограничений
Записан
raus
Гость
Re: Урок: Создание динамических библиотек
«
Ответ #25 :
Июнь 22, 2012, 17:23 »
Цитата: Bepec от Июнь 22, 2012, 16:43
Если наружу выставить за. ой, интерфейс на С++, то да. Однако кажется, что сигнал-слотовые соединения не будут работать, если не запущен QApplication.
ну вроде выставил я интерфес C++? а в проекти dllки экземпляр QApplication вот так создаю:
Код:
int argc = 1;
QApplication app(argc, NULL);
..............
..............
..............
app.exec();
dllка вроде создалась, но что-то не могу ее прикрутить к проекту
Записан
mutineer
Гость
Re: Урок: Создание динамических библиотек
«
Ответ #26 :
Июнь 22, 2012, 17:26 »
ты же в курсе, что app.exec() это цикл бесконечный?
Записан
raus
Гость
Re: Урок: Создание динамических библиотек
«
Ответ #27 :
Июнь 22, 2012, 18:04 »
Цитата: mutineer от Июнь 22, 2012, 17:26
ты же в курсе, что app.exec() это цикл бесконечный?
ну так с цикла можно будет выйти, если главный виджет разрушится..
Записан
mutineer
Гость
Re: Урок: Создание динамических библиотек
«
Ответ #28 :
Июнь 22, 2012, 18:05 »
Я имел в виду что вызов библиотечного метода с таким содержимым заблокирует вызывающего
Записан
raus
Гость
Re: Урок: Создание динамических библиотек
«
Ответ #29 :
Июнь 23, 2012, 14:55 »
Цитата: mutineer от Июнь 22, 2012, 18:05
Я имел в виду что вызов библиотечного метода с таким содержимым заблокирует вызывающего
ну мне этэ, наверно, не страшно..
Записан
Страниц:
1
[
2
]
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...