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

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

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Урок: Создание динамических библиотек  (Прочитано 91835 раз)
Elfet
Гость
« Ответ #15 : Апрель 06, 2010, 18:34 »

Да я вроде бы всё очистил. Даже папки все удалил.  И полностью пересобрал всё.

Ещё я заметил что запуская несколько раз подряд свою программу - ошибки разные появляются  В замешательстве
Записан
Elfet
Гость
« Ответ #16 : Апрель 06, 2010, 19:16 »

И вот ещё что не понятно. Если запуская не через Qt (Ctrl+R) А захожу в папку и запускаю файл SmartFlow.exe - всё работает нормально (Остальный Qt***.dll лежат в этой же папке)
Записан
serg_hd
Хакер
*****
Offline Offline

Сообщений: 668



Просмотр профиля
« Ответ #17 : Июнь 23, 2010, 13:03 »

Непонятны слова
И еще — здесь рассматривается только явная компоновка приложения и библиотеки. Если необходимо подгрузить класс динамически — лучше оформить его как плагин. В противном случае вас ждут большие проблемы...
А тут разве классы подгружаются не динамически? dll же.
И чем отличается явная компоновка от динамической подгрузки - не описано?
Записан

kubuntu/Win7/x64/NetBeans
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #18 : Июнь 23, 2010, 13:54 »

А тут разве классы подгружаются не динамически? dll же.
И чем отличается явная компоновка от динамической подгрузки - не описано?
Здесь имеется ввиду 2 подхода

1) dll загружается при старте приложения (в заголовке exe указано какие dll необходимы). Если ОС не сможет их найти/ загрузить - exe не запустится. Ф-ции dll доступны в течение всей жизни exe

2) Приложение стартует без dll, а затем само (используя ф-ции OC) загружает dll (может и выгружать). Ф-ции dll обычно запрашиваются через GetProcAddress (Вындоуз)
Записан
andrey2033
Гость
« Ответ #19 : Июль 05, 2010, 13:26 »

Доброго времени суток!
У меня возникла проблема с friend-функциями класса в моей библиотеке. При их наличии компилятор выдаёт ошибку undefined reference... к этим функциям...
Без них всё работает. И отсюда вопрос: в dll нельзя пользоваться friend-функциями?
Записан
xintrea
Moderator
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #20 : Июль 10, 2010, 22:44 »

Автор этой статьи удалил свой аккаунт на форуме. Так что он, наверно не ответит. Лучше задать этот  вопрос в другом разделе, например в "Общих вопросах" http://www.prog.org.ru/board_50_0.html.
Записан

Собираю информацию по крупицам
http://webhamster.ru
andrey2033
Гость
« Ответ #21 : Июль 14, 2010, 09:40 »

Автор этой статьи удалил свой аккаунт на форуме. Так что он, наверно не ответит. Лучше задать этот  вопрос в другом разделе, например в "Общих вопросах" http://www.prog.org.ru/board_50_0.html.

Спасибо!
Записан
voral
Гость
« Ответ #22 : Март 03, 2011, 12:20 »

В последнем абзаце слово повторяется....
И еще, касательно данного примера. Следует иметь в виду, что он писался в предположении, что библиотека будет линковаться только динамически. Для для случая статической линковки макросы Q_DECL_IMPORT/EXPORT следует убрать. Как средствами qmake отличить статическую линковку от динамической и обеспечить включение/выключение нужных макросов — продемонстрировано ниже по треду в письме от pastor, на модификации моего примера. За что ему отдельное спасибо.
Записан
raus
Гость
« Ответ #23 : Июнь 22, 2012, 12:40 »

Здравствуйте. Могу ли я dllку Qt использовать в mfc проекте?
Записан
Bepec
Гость
« Ответ #24 : Июнь 22, 2012, 16:43 »

Если наружу выставить за. ой, интерфейс на С++, то да. Однако кажется, что сигнал-слотовые соединения не будут работать, если не запущен QApplication.

Есть вроде и обход этих ограничений Улыбающийся
Записан
raus
Гость
« Ответ #25 : Июнь 22, 2012, 17:23 »

Если наружу выставить за. ой, интерфейс на С++, то да. Однако кажется, что сигнал-слотовые соединения не будут работать, если не запущен QApplication.

ну вроде выставил я интерфес C++? а в проекти dllки экземпляр QApplication вот так создаю:
Код:
	int argc = 1;
QApplication app(argc, NULL);
           ..............
           ..............
           ..............
           app.exec();

dllка вроде создалась, но что-то не могу ее прикрутить к проекту

Записан
mutineer
Гость
« Ответ #26 : Июнь 22, 2012, 17:26 »

ты же в курсе, что app.exec() это цикл бесконечный?
Записан
raus
Гость
« Ответ #27 : Июнь 22, 2012, 18:04 »

ты же в курсе, что app.exec() это цикл бесконечный?
ну так с цикла можно будет выйти, если главный виджет разрушится..
Записан
mutineer
Гость
« Ответ #28 : Июнь 22, 2012, 18:05 »

Я имел в виду что вызов библиотечного метода с таким содержимым заблокирует вызывающего
Записан
raus
Гость
« Ответ #29 : Июнь 23, 2012, 14:55 »

Я имел в виду что вызов библиотечного метода с таким содержимым заблокирует вызывающего
ну мне этэ, наверно, не страшно..
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


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