Для компиляции под vs2015 понадобятся
Устанавливаем perl
распаковываем openssh и читаем INSTALL.w32
Сборка версий.
- Собираем 32-бит(64-бит) версию release.
- Открываем окно консоли
VS2015 x86 Native Tools Command Prompt (VS2015 x64 Native Tools Command Prompt.). - Переходим в директорию openssl-1.0.2e-32bit и выполняем настройку:
cd OpenSSL\openssl-1.0.2a-32
perl Configure VC-WIN32 no-asm --prefix=C:\OpenSSL\Build-VC-32-release(perl Configure VC-WIN64A no-asm --prefix=C:\OpenSSL\Build-VC-64-release) - Далее собираем Visual C++ makefiles с зависимостями конфигурации сборки в каталоге ms:
ms\do_ms.bat (ms\do_win64a) - После того как файл сборки создан вызываем nmake для компиляции и линковки библиотеки:
nmake -f ms\nt.mak - В приведенных выше командах nmake использовался ms\nt.mak makefile потому что собирались статические библиотеки. Если использовать ms\ntdll.mak, то вместо статической будет собрана DLL динамическая версия библиотеки.
- После того как сборка библиотеки будет завершена проверить ее, выполнив тестовый набор. Перейти в поддиректорию out32 перед запуском тестов:
nmake -f ms\nt.mak test
Итоговое сообщение должно быть:passed all tests - Выполнить заключительный шаг, чтобы сформировать пакет и установить двоичные файлы OpenSSL:
nmake -f ms\nt.mak install - В итоге, в директории
C:\OpenSSL\Build-VC-32-release(C:\OpenSSL\Build-VC-64-release) должен быть готовый набор 32-бит(64-бит) версии release.
- Открываем окно консоли
p.s. Здесь нашел автоматическую сборку openSSL
для сборки в VS2017 в скрипте для VS2015 надо заменить
set VS2017=»C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat»
set VS2017_AMD64=»C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat»
и указать в папках вместо VS2015 VS2017