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,直接执行,非常方便

相关推荐
Mr_WangAndy4 小时前
C++_chapter2_C++基础知识点
c++·const·new和delete·c++函数·左右引用和右值引用
ha20428941946 小时前
Linux操作系统学习之---基于环形队列的生产者消费者模型(毛坯版)
linux·c++·学习
渡我白衣9 小时前
C++ 同名全局变量:当符号在链接器中“相遇”
开发语言·c++·人工智能·深度学习·microsoft·语言模型·人机交互
是那盏灯塔10 小时前
【算法】——动态规划之01背包问题
数据结构·c++·算法·动态规划
迷失的walker11 小时前
【Qt C++ QSerialPort】QSerialPort fQSerialPortInfo::availablePorts() 执行报错问题解决方案
数据库·c++·qt
南方的狮子先生12 小时前
【数据结构】(C++数据结构)查找算法与排序算法详解
数据结构·c++·学习·算法·排序算法·1024程序员节
紫荆鱼12 小时前
设计模式-适配器模式(Adapter)
c++·设计模式·适配器模式
报错小能手14 小时前
C++笔记(面向对象)详解单例模式
c++·笔记·单例模式
吗~喽14 小时前
【C++】内存管理
c++
上去我就QWER15 小时前
解锁Qt元对象系统:C++编程的超强扩展
c++·qt