crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Dll'ки Qt, толи трёп, толи философия
Litkevich Yuriy
  опции профиля:
сообщение 10.5.2009, 11:24
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Несколько раз напарывался на аварийные завершения программ написаных на Qt в том числе Qt Assistant.
И нашёл этому объяснение.

Дело в том, что у меня стоит несколько версий Qt. Запуск приложений осуществляется с помощью bat-файлов, задающих окружение.

Дак вот положим запустил я свою программу в окружении Qt 4.4.3, а потом решил запустить Qt Assistant (4.5.x) и в момент индексации он валится.
Долго немог понять почему. Если закрываю свою программу, то Асистент работает нормально.

Мой вывод следующий:
Qt***4.dll уже сидит в памяти от 4.4.х, и когда пускается Асистент 4.5.х, то виндовоз ему говорит, что нужная dll'ка уже загружена и находится тут. А там dll'ка предыдущей версии.

вот я и думаю, а как вообще будут уживаться вместе разные проги в дистрибутиве которых есть Qt dll'ки?

может пофилосовствуем на эту тему?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_Гость_*
сообщение 10.5.2009, 20:49
Сообщение #2





Гости








    


Цитата(Litkevich Yuriy @ 10.5.2009, 16:06) *
Т.е. путь к dll'ке Виндовоз учитывает?

допустим записали в 2 директории ехе файл в одну с длл в другую без, при запущенном первом второй как не запускался, так и не будет запускаться. Вроде так в первом приближении задачи независимы. Каждая ДЛЛ при загрузке проходит через ДллМаин правда есть секции с атрибутом SHARED Джеффри РИХТЕР. Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows (сори за помоечную ссылку) Книга толстая :dance2: Такие секции нужны что белать всякие межпроцесные взаимодействия типа ActiveQt

надо dependency walker поглядеть, может там мешанина из версий грузится, обычно на диске полно копий
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 0:36