Как создать OpenSSL, статически связанный с Windows Runtime?
Я работаю над приложением C ++ для Windows, которое использует библиотеку OpenSSL 1.0.1e. Я'м на Visual Studio 2008.
По причинам переносимости мое приложение статически связано с библиотеками времени выполнения (/MT
а также/MTd
опции). И я неС моим приложением я не запускаю библиотеки времени выполнения.
ПоOpenSSL FAQбиблиотека по умолчанию связана с многопоточным временем выполнения DLL (/MDd
) что явно несовместимо с моим сценарием. Поэтому, чтобы моя программа работала, ямы добавилиapplink.c
в мой проект. На моем компьютере разработчика и на большинстве тестовых компьютеров программа работает нормально.
Но к сожалению ямы нашли компьютеры, на которых приложение не работаетт начать. Windows отображает ошибку: I '
The application failed to initialize properly (0xc0150002). Click on OK to
terminate the application.
мы открылиlibeay32.dll
в Dependency Walker, и я вижу, чтоMSVCR90.dll
не найден. Так что фокус сapplink.c
Безразлично»это действительно работает для меня.
Как мне собрать OpenSSL с/MT
или же/MTd
вариант?»