惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
GbyAI
GbyAI
P
Proofpoint News Feed
B
Blog
MyScale Blog
MyScale Blog
V
V2EX
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
量子位
Jina AI
Jina AI
博客园 - 叶小钗
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
罗磊的独立博客
L
LangChain Blog
I
InfoQ
云风的 BLOG
云风的 BLOG
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
小众软件
小众软件
V
Visual Studio Blog
月光博客
月光博客
The Cloudflare Blog
雷峰网
雷峰网

博客园 - Mike_Zhang

使用python统计FreeSWITCH呼叫并发 从pcap文件提取sip信令文本 FreeSWITCH开启silk编码及转码 FreeSWITCH使用mod_fail2ban模块来提升安全 FreeSWITCH使用RNNoise进行实时通话降噪 使用RNNoise进行音频降噪 python3.14版本的free-threading功能体验 一种FreeSWITCH流量镜像WebSocket音频推流方案 C++使用WinHTTP访问http/https服务 cJSON静态库编译及vs2022使用示例 FreeSWITCH日志功能分析及apr模拟 使用pjsip封装自定义软电话sdk pjsip编译、说明及vs2022使用示例 使用kamailio进行分机注册及互拨 apr库编译及队列使用笔记 debian10环境安装rtpengine FreeSWITCH对接http协议的tts服务 python3解析wav文件获取dtmf值 音频文件降噪及python示例 FreeSWITCH使用soundtouch进行变声
openssl静态库编译及vs2022使用示例
Mike_Zhang · 2025-06-25 · via 博客园 - Mike_Zhang

环境: window10_x64 & vs2022

openssl版本: 1.1.1s

nasm版本:2.16.03

今天整理下windows10环境下,使用vs2022编译openssl静态库的笔记,并提供使用示例及预编译二进制文件下载。

一、源码及环境准备

openssl官网:

openssl下载地址:

 

编译可参考如下文档:

nasm工具下载地址:

 perl下载地址:

二、编译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_DIGEST_LENGTH];
    SHA512((unsigned char*)data, strlen(data), hash);
    printf("SHA512 Hash: ");
    for (int i = 0; i < SHA512_DIGEST_LENGTH; i++)
        printf("%02x", hash[i]);
    printf("\n");
    return 0;
}

添加include目录:

 添加lib目录:

 添加lib文件:

 编译成功:

 运行效果如下:

 

五、资源获取

本文涉及源码及相关文件,可从如下途径获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20250625 获取。