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

相关推荐
QiLinkOS2 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
Irissgwe3 小时前
c++11(lambda表达式与包装器、线程库)
c++·c++11·lambda表达式·线程库·包装器·互斥量库·条件变量库
Peter·Pan爱编程3 小时前
14. Lambda 表达式:随手可写的函数对象
c++·算法·ai编程
不想写代码的星星4 小时前
从分支预测角度看 C++:为什么你的热循环慢得离谱?
c++
郝学胜-神的一滴5 小时前
Qt 高级开发 018:复刻经典登录界面布局与窗口美化全解析
开发语言·c++·qt·程序人生·用户界面
郝亚军5 小时前
IEEE 754 单精度浮点的SEM表示
开发语言·c++·算法
Yyyyyy~6 小时前
【C++】数组篇
开发语言·c++
qq_333120976 小时前
C++高并发内存池的整体设计和实现思路_C 语言
java·c语言·c++
牛肉在哪里6 小时前
ros2 从零开始27 编写广播C++
开发语言·c++·机器人
Curvatureflight6 小时前
前端国际化 i18n 落地实践:语言包、动态文案和格式化问题怎么处理?
前端·c++·vue