openssl编译和集成

编译环境

  • 系统windows
  • openssl版本 1.1.1m
    编译前可以看些openssl中的README,INSTALL文件,我这里以编译32位程序为例

编译命令

复制代码
    $ perl Configure { VC-WIN32 | VC-WIN64A | VC-WIN64I | VC-CE }
    $ nmake
    $ nmake test
    $ nmake install

perl配置的时候可以指定更多参数 ,比如

{ VC-WIN32 | VC-WIN64A | VC-WIN64I | VC-CE }这些配置选项,根据实际情况进行选择。如果编译32位程序就用VC-WIN32,编译64位程序用VC-WIN64

--debug 生成debug库

no-asm 不用汇编代码,这一般用于debug时。

--prefix=编译生成物安装路径

nmake需要在开发人员命令行提示符中执行,

比如我装的是VS2019 ,那么就可以找到"Developer Command Prompt for VS 2019",适用这个命令行主要是为了设置编译的环境。

使用编译生成物

这里我的demo用cmake进行构建

复制代码
cmake_minimum_required(VERSION 3.18)
project(mylea VERSION 1.0.0 LANGUAGES C CXX)
# 我这里使用的是mingw w64编译32位程序
set(CMAKE_C_FLAGS "-m32")

include_directories(include)
link_directories(${CMAKE_SOURCE_DIR}/../../build/lib)

link_libraries(libcrypto libssl)
file(GLOB_RECURSE myconf
        mytest/*.c
        )
add_executable(mylea ${myconf})

使用vs进行开发

mkdir build

cd build

//我这里生成32位工程

cmake ... -G "Visual Studio 16 2019" -A Win32

//生成vs工程后,直接打开就可以调试了,非常方便

使用vscode进行开发

这里我的编译器是mingw64

mkdir build

cd build

cmake ... -G "MinGW Makefiles"

cmake --build .

这样就生成exe,直接执行,非常方便

相关推荐
tdtsmt16 小时前
穿戴硬件量产工艺实录:天地通电子智能手表主板 SMT 贴片案
c++
m0_7345717619 小时前
深入理解C++ 析构函数<一>基本概念
开发语言·c++
t-think20 小时前
C++ string 类(上)—— string类初识与常用接口详解
开发语言·c++
cpp_learners20 小时前
C++ 实现责任链模式(Chain of Responsibility):从一堆 if-else 到可插拔的处理管道
开发语言·c++·责任链模式
郝学胜_神的一滴20 小时前
C++11 工程级应用 12:编译期类型魔法,干掉重复与臃肿的代码
c++·visual studio
David猪大卫1 天前
【C++修炼】哈希表的实现
数据结构·c++·笔记·学习·算法·哈希算法·散列表
广州山泉婚姻1 天前
列表初始化:C++11全新初始化体系
c++·人工智能
莫生灬灬1 天前
灵码 LingBuilder:用中文写代码,确定性生成真实 C++ 工程(开源)
c++·开源·mfc
浅念-1 天前
C++ Protobuf 入门实战:基于通讯录项目吃透proto3语法与序列化
linux·服务器·网络·c++·protobuf·proto·proto3
汉克老师1 天前
CSP-J 初赛(以满分为目标):第三十九课《数学与逻辑②——阶乘、排列数与组合数:公式到底从哪里来?》
c++·csp-j·小学生·学c++编程