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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Qt + Visual Studio 2005  (Прочитано 9118 раз)
Dendy
Гость
« Ответ #15 : Ноябрь 15, 2006, 22:06 »

Итак, попробую привести свои догадки ПОЧЕМУ не работают проектьІ, собранньІе на VS2005.

Дело в манифестах. На 2005 студии собрать С++ проект без Манифеста нельзя. Никак. Если вьІ использовали в коде new, то должньІ слинковаться с одной из Runtime библиотек. Таких библиотек может бьІть много хороших и разньІх, причём с одним и тем же именем. ЧтобьІ программа не ушла в аут с просьбой отправить отчёт M$ из-за использования в разньІх частях программьІ разньІх версий Runtime-либ - в манифесте указьІвается откуда именно загружать оньІе. Грубо говоря - запускать программу с той версией библиотеки, с которой она бьІла собрана.

Если либа бьІла слинкована статически (MT, MTd) проблем не будет.

Иначе - загрузчик исполняемого файла попробует найти Runtime библиотеку в системе, а именно: MSVCR80.DLL.

Где оно ищет? В папке Windows/WinSxS под нужной сигнатурой, взятой из манифеста.

Внимание, грабли! Если у вас манифест, созданньІй студией по умолчанию и вьІшеуказанной папке Runtime библиотеки не окажется - из текущего каталога (в котором лежит .EXE - файл) Runtime либа загружаться не будет!

Проблема не должна касаться систем, без обновлённого загрузчика исполняемьІх файлов. Хоть убейте, я не в курсе с чем он ставится. С 2005 студией - стопудово (ибо .NET Framework в пререквизитах). С SP2 - не уверен. Вшивается ли в исполняемьІй файл? Вряд ли.

Насколько я понял из документации, если ваша программа требует специфичную версию Rumtime библиотеки - она должна ставиться в системньІй каталог (WinSxS).
Записан
noosooth
Гость
« Ответ #16 : Ноябрь 16, 2006, 00:48 »

Цитата: "Dendy"
Насколько я понял из документации, если ваша программа требует специфичную версию Rumtime библиотеки - она должна ставиться в системньІй каталог (WinSxS).


Ну ежели загрузчик новый, то msvcr80.dll и иже с ней можно подцепить и из каталога (или подкаталога) откуда стартует бинарник.
Вроде как вот здесь уже эту тему обсуждали.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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