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

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

Запись от igorrr37 размещена 09.01.2018 в 10:04
Показов 13151 Комментарии 0

Сборка статик версии опенссл, но две дллшки всё таки будут. Их нужно будет скопировать папку с VS проектом (см. пункт 12). Чтобы их не копировать в каждый проект, лучше собирать полностью статик версию (см. в самом низу)
1) Скачать файл openssl-3.0.10.tar.gz с оф. сайта https://www.openssl.org/source/
2) Распаковать в c:\openssl
3) Установить 64 битный ActivePerl http://www.activestate.com/activeperl/downloads
4) Установить NASM 64 битный http://www.nasm.us/ (там в папке "win64/" есть экзешник под винду)
5) Прописать папку с nasm.exe в переменную PATH
4) В меню Пуск найти "x64 Native Tools Command Prompt for VS 2019" (64 битный!) и запустить от администратора
5) Перейти в папку openssl:
Code
1
cd c:\openssl
6) Сконфигурировать дебажную версию openssl. Готовые *.h, *.lib, *.exe после сборки будут в папке --prefix:
Code
1
perl Configure VC-WIN64A --debug --prefix=c:\openssl\x64\debug
7) Конфигурирование завершено. Последней строчкой в консоли должна быть Configured for VC-WIN32. Теперь компиляция:
Code
1
nmake
8) Теперь установка. Без документации ибо она долго копируется (её можно поставить позже)
Code
1
nmake install_sw
install - Install all OpenSSL components.
install_sw - Only install the OpenSSL software components.
install_docs - Only install the OpenSSL documentation components.
install_man_docs - Only install the OpenSSL man pages (Unix only).
install_html_docs - Only install the OpenSSL html documentation.

9)
Code
1
nmake clean
10)
Прописать c:\openssl\x64\debug\include\ в Additional Include Directories (/I”c:\openssl\x64\debug\include\”);
Прописать c:\openssl\x64\debug\lib в Additional Library Directories (/LIBPATH:”c:\openssl\x64\debug\lib”);
Прописать libcrypto.lib и libssl.lib в Linker->Input->Additional Dependencies.

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

13) Тестовый код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>
 
int main()
{
    unsigned char ibuf[] = "compute sha1";
    unsigned char obuf[20];
 
    SHA1(ibuf, strlen((char*)ibuf), obuf);
 
    int i;
    for (i = 0; i < 20; i++) {
        printf("%02x ", obuf[i]);
    }
    printf("\n");
}
**************************************** **************************************** ****************
Сборка полностью статик версии опенссл:
дебажная:
cd c:\openssl
nmake clean
perl Configure VC-WIN64A --debug --prefix=c:\openssl\x64-static\debug no-shared
nmake
nmake install

релизная:
cd c:\openssl
nmake clean
perl Configure VC-WIN64A --prefix=c:\openssl\x64-static\release no-shared
nmake
nmake install
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru