Чт. Окт 29th, 2026

Для компиляции под vs2015 понадобятся

Устанавливаем perl

распаковываем openssh и читаем INSTALL.w32

 

Сборка версий.

  1. Собираем 32-бит(64-бит) версию release.
    1. Открываем окно консоли VS2015 x86 Native Tools Command Prompt (VS2015 x64 Native Tools Command Prompt.).
    2. Переходим в директорию 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)
    3. Далее собираем Visual C++ makefiles с зависимостями конфигурации сборки в каталоге ms:
      ms\do_ms.bat (ms\do_win64a)
    4. После того как файл сборки создан вызываем nmake для компиляции и линковки библиотеки:
      nmake -f ms\nt.mak
    5. В приведенных выше командах nmake использовался ms\nt.mak makefile потому что собирались статические библиотеки. Если использовать ms\ntdll.mak, то вместо статической будет собрана DLL динамическая версия библиотеки.
    6. После того как сборка библиотеки будет завершена проверить ее, выполнив тестовый набор. Перейти в поддиректорию out32 перед запуском тестов:
      nmake -f ms\nt.mak test
      Итоговое сообщение должно быть: passed all tests
    7. Выполнить заключительный шаг, чтобы сформировать пакет и установить двоичные файлы OpenSSL:
      nmake -f ms\nt.mak install
    8. В итоге, в директории 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

От sapfir63