Форум программистов, компьютерный форум, киберфорум
Наши страницы
igorrr37
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Сборка OpenSSL для VS2017 (32 bit, static libraries)

Запись от igorrr37 размещена 09.01.2018 в 10:04
Обновил(-а) igorrr37 09.01.2018 в 15:43

Сборка статик версии опенссл, но одна дллшка всё таки будет. В папку с VS проектом придётся копировать файл libcrypto-1_1.dll (пункт 12). Чтобы её не копировать в каждый проект, лучше собирать полностью статик версию (см. в самом низу)
1) Скачать файл openssl-1.1.0g.tar.gz с оф. сайта https://www.openssl.org/source/
2) Распаковать в c:\openssl
3) Установить 32 битный ActivePerl http://www.activestate.com/activeperl/downloads
4) Установить NASM http://www.nasm.us/
5) Прописать папку с nasm.exe в переменную PATH
4) В меню Пуск найти папку Visual Studio 2017 и в ней Developer Command Prompt for VS 2017 (32-х битную!) запустить от администратора
5) Перейти в папку openssl:
Код:
cd c:\openssl
6) Сконфигурировать дебажную версию openssl. Готовые *.h, *.lib, *.exe после сборки будут в папке --prefix:
Код:
perl Configure VC-WIN32 --debug --prefix=c:\openssl\x86\debug
7) Конфигурирование завершено. Последней строчкой в консоли должна быть Configured for VC-WIN32. Теперь компиляция:
Код:
nmake
8) Теперь установка. Будет долгой из-за копирования онлайн документации:
Код:
nmake install
9)
Код:
nmake clean
10) Теперь в папке c:\openssl\x86\debug появились папки bin, htm, linclude, lib. We add c:\openssl\x86\debug\include\ in Additional Include Directories (/I”c:\openssl\x86\debug\include\”) and c:\openssl\x86\debug\lib in Additional Library Directories (/LIBPATH:”c:\openssl\x86\debug\lib”) and libcrypto.lib in Linker->Input->Additional Dependencies.

11) Проделать пункты 4-10 для релизной версии openssl:
Код:
perl Configure VC-WIN32 --prefix=c:\openssl\x86\release
12) Скопировать файл c:\openssl\x86\release\bin\libcrypto-1_1.dll в папку с VS проектом

13) Тестовый код. Должен вывести в консоль строку: 1BC29B36F623BA82AAF6724FD3B16718
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <openssl/md5.h>
 
int main(int argc, char **argv)
{
    MD5_CTX md5;
    unsigned char digest[MD5_DIGEST_LENGTH];
 
    MD5_Init(&md5);
    MD5_Update(&md5, "md5", 3);
    MD5_Final(digest, &md5);
 
    for (int i = 0; i < MD5_DIGEST_LENGTH; i++)
        printf("%02X", digest[i]);
    printf("\n");
    return 0;
}
************************************************************************************************
Сборка полностью статик версии опенссл:
дебажная:
cd c:\openssl
nmake clean
perl Configure VC-WIN32 --debug --prefix=c:\openssl\x86-static\debug no-shared
nmake
nmake install

релизная:
cd c:\openssl
nmake clean
perl Configure VC-WIN32 --prefix=c:\openssl\x86-static\release no-shared
nmake
nmake install
Размещено в Без категории
Просмотров 629 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru