洪势 发表于 2025-6-25 20:22:13

openssl静态库编译及vs2022使用示例

环境: window10_x64 & vs2022
openssl版本: 1.1.1s
nasm版本:2.16.03
今天整理下windows10环境下,使用vs2022编译openssl静态库的笔记,并提供使用示例及预编译二进制文件下载。
一、源码及环境准备

openssl官网:https://www.openssl.org/openssl下载地址:https://openssl-library.org/source/old/1.1.1/ 
 
编译可参考如下文档:https://github.com/openssl/openssl/blob/master/NOTES-WINDOWS.md 
 
nasm工具下载地址:https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/win64/
 perl下载地址:
https://www.perl.org/get.html 
二、编译32位静态库

编译命令如下:perl Configure VC-WIN32 no-shared --prefix=D:\thrdLib\openssl
nmake
nmake test
nmake install需要在开始菜单中启动vs2022编译环境:
 

 执行nmake后:

 执行nmake install后:

 静态库文件:

 三、编译64位静态库

编译命令如下:
perl Configure VC-WIN64A no-shared --prefix=D:\thrdLib\openssl-1.1.1s-static-win64
nmake
nmake test
nmake install启动编译环境:

 

 执行nmake后:

 执行nmake install后:

 静态库文件:

 四、使用示例

这里以64位静态库为例进行演示。
测试代码如下:
#include <openssl/sha.h>
#include <stdio.h>
#include <string.h>
int main()
{
    char data[] = "test msg from mike_zhang@live.com !";
    unsigned char hash;
    SHA512((unsigned char*)data, strlen(data), hash);
    printf("SHA512 Hash: ");
    for (int i = 0; i < SHA512_DIGEST_LENGTH; i++)
      printf("%02x", hash);
    printf("\n");
    return 0;
}添加include目录:

 添加lib目录:

 添加lib文件:

 编译成功:

 运行效果如下:
 
五、资源获取

本文涉及源码及相关文件,可从如下途径获取:
关注微信公众号(聊聊博文,文末可扫码)后回复 20250625 获取。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: openssl静态库编译及vs2022使用示例