Я понимаю, что вы хотите использовать эти функции в своем коде.Вам не нужно компилировать OpenSSL для этого.
Установите пакет на свой компьютер для разработки (если вы разрабатываете для Windows, вы можете получить последнюю версию установщика здесь ).Он будет содержать заголовочные файлы, которые необходимо включить в код (они будут в c:\OpenSSL-Win32\include\openssl
), статические библиотеки, с которыми необходимо связать приложение (в c:\OpenSSL-Win32\lib\VC
), и DLL, которую должно запускать ваше приложение (в c:\OpenSSL-Win32\bin
).
Итак, в вашем коде вы будете иметь:
#include <openssl/aes.h>
...
AES_set_encrypt_key(...);
...
AES_cfb128_encrypt(...);
...
Ваш компилятор должен знать путь к заголовку, который вы включили (путь к каталогу openssl
), поэтому вам нужно предоставитьЭто.Если вы используете Visual Studio, откройте настройки проекта и добавьте c:\OpenSSL-Win32\include
в «Дополнительные каталоги включения».
В разделе компоновщика добавьте ssleay32MDd.lib;libeay32MDd.lib;
в Дополнительные зависимости, чтобы ваш компоновщик знал, какие библиотеки OpenSSL искать.Путь к этим библиотекам - c:\OpenSSL-Win32\lib\VC
- добавьте в каталог дополнительных библиотек.
Будьте осторожны с этими библиотеками: они должны быть связаны с той же библиотекой времени выполнения, что и ваше приложение.Их суффикс говорит вам, с какой библиотекой времени выполнения они связаны: библиотеки, о которых я упоминал выше, имеют суффикс MDd, что означает, что они используют многопоточную библиотеку отладки (/ MDd) - так что вы включите их, если ваше приложение будет использовать ту же среду выполнения (отметьте это в коде).Настройка Generation-> Runtime Library).
Ваше приложение будет собираться сейчас, но для его запуска ваш двоичный файл должен иметь доступ к OpenSSL DLL libeay32.dll
, в зависимости от этого.Скопируйте эту DLL в системный каталог или в каталог, в котором вы запускаете приложение, или добавьте путь c:\OpenSSL-Win32\bin
к Path
переменной среды.