1. 首先下载并安装CMake工具,下载地址:https://cmake.org/download/

  2. 下载openssl源代码,下载地址:https://www.openssl.org/source/

  3. 在openssl源代码目录下创建一个名为build的文件夹,作为编译输出目录。

  4. 在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)
  1. 创建一个名为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;
}
  1. 打开命令行窗口,执行以下命令:
cd openssl_source_directory/build
cmake -G "Visual Studio 16 2019" ..

其中openssl_source_directory为openssl源代码目录。

  1. 执行完上述命令后,会在build目录下生成Visual Studio工程文件。

  2. 打开Visual Studio工程文件,编译并运行程序,验证openssl库是否可用。

对openssl编写cmake生成Visual Studio 工程

原文地址: https://www.cveoy.top/t/topic/b7qe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录