Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Оценить эту запись

Сборка 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
Размещено в Без категории
Просмотров 471 Комментарии 0
Всего комментариев 0

Комментарии

 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru