Компиляция для конкретной версии среды выполнения c для Windows Mobile

У меня есть мобильное устройство, которое из всех файлов msvcrXX имеет msvcr80.dll. Visual studio компилирует мою библиотеку в библиотеку, зависящую от msvcr90.dll.

Как я могу изменить зависимости моей dll? Я не хочу менять рабочую версию на мобильном устройстве. Конечно, проблемы можно избежать, скомпилировав с / MT, но меня интересует решение, а не избегание.


person Srv19    schedule 18.10.2012    source источник


Ответы (1)


В общем, это возможно только в том случае, если вы скомпилируете и свяжете свой проект с конкретной версией библиотек CRT. Данная версия VS поддерживает конкретную версию этих библиотек: VS 2005 => msvcrt8 VS 2008 => msvcrt9

Std lib связаны с помощью #pragma comment (lib, "libcXXX.lib") или #pragma comment (lib, "msvcXXX.lib")

в зависимости от конфигурации вашего проекта (см. afx.h)

В VCPROJ нет определения зависимости для CruntimeLib, поэтому вам нечего здесь менять.

Если вы получили полное дерево необходимых библиотек / dll / заголовков в более старой версии (8.0) для конкретной платформы (например: Win32 или PocketPC 2003 и т. Д.), Вам нужно будет изменить пути для данной платформы в:

Инструменты / Параметры / Проект и решения / Каталоги VC ++

(!!! ВНИМАНИЕ, резервное копирование вашей конфигурации перед экспортом из меню)

person rzur2004    schedule 17.11.2012