使用 CMake 生成 OpenSSL 的 Visual Studio 工程
使用 CMake 生成 OpenSSL 的 Visual Studio 工程
本文将引导您使用 CMake 生成 OpenSSL 的 Visual Studio 工程,方便您在 Windows 环境下编译和使用 OpenSSL 库。
1. 准备工作
- 下载并安装 CMake 工具: 您可以从 https://cmake.org/download/ 下载并安装 CMake 工具。
- 下载 OpenSSL 源代码: 您可以从 https://www.openssl.org/source/ 下载 OpenSSL 源代码。
2. 创建构建目录和 CMakeLists.txt 文件
- 在 OpenSSL 源代码目录下创建一个名为 'build' 的文件夹,作为编译输出目录。
- 在 'build' 目录下创建一个名为 'CMakeLists.txt' 的文件,并输入以下内容:
cmake_minimum_required(VERSION 3.10)
project(OpenSSL)
set(OPENSSL_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(OPENSSL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
set(OPENSSL_LIBRARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib)
set(OPENSSL_CRYPTO_LIBRARY ${OPENSSL_LIBRARY_DIR}/libcrypto.lib)
set(OPENSSL_SSL_LIBRARY ${OPENSSL_LIBRARY_DIR}/libssl.lib)
include_directories(${OPENSSL_INCLUDE_DIR})
link_directories(${OPENSSL_LIBRARY_DIR})
add_library(crypto STATIC IMPORTED)
set_property(TARGET crypto PROPERTY IMPORTED_LOCATION ${OPENSSL_CRYPTO_LIBRARY})
add_library(ssl STATIC IMPORTED)
set_property(TARGET ssl PROPERTY IMPORTED_LOCATION ${OPENSSL_SSL_LIBRARY})
add_executable(openssl_test main.c)
target_link_libraries(openssl_test crypto ssl)
3. 创建测试文件 'main.c'
- 在 OpenSSL 源代码目录下创建一个名为 'main.c' 的文件,并输入以下内容:
#include <stdio.h>
#include <openssl/rsa.h>
#include <openssl/evp.h>
int main(void)
{
EVP_PKEY* pkey = EVP_PKEY_new();
RSA* rsa = RSA_new();
BIGNUM* e = BN_new();
BN_set_word(e, RSA_F4);
RSA_generate_key_ex(rsa, 2048, e, NULL);
EVP_PKEY_set1_RSA(pkey, rsa);
RSA_free(rsa);
BN_free(e);
EVP_PKEY_free(pkey);
printf("Success\n");
return 0;
}
4. 使用 CMake 生成 Visual Studio 工程
- 打开命令行窗口,并切换到 'build' 目录。
- 执行以下命令:
cmake -G "Visual Studio 16 2019" ..
其中 'openssl_source_directory' 为 OpenSSL 源代码目录。
5. 编译和运行程序
- 执行完上述命令后,会在 'build' 目录下生成 Visual Studio 工程文件。
- 打开 Visual Studio 工程文件,编译并运行程序,验证 OpenSSL 库是否可用。
注意: 确保您的系统已安装 Visual Studio 2019 或更高版本,并且已配置好 OpenSSL 的编译环境。
原文地址: https://www.cveoy.top/t/topic/npnS 著作权归作者所有。请勿转载和采集!