现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

vs2019编译openssl静态库

2019-12-06 05:38 工业·编程 ⁄ 共 979字 ⁄ 字号 暂无评论

最近写个小工具需要依赖openssl的静态lib库,本来是有其它同事编译好的x32和x64版本的lib库,可惜他编译的lib库是用vs2008环境编译的。

我这个新项目使用vs2019开发,所以不能直接引用现有的lib库,只能重新使用vs2019的编译环境再编译一个新的openssl静态库。

首先需要到openssl官网,或者github release页面去下载最新的源码

1)下载openssl源码:

· https://github.com/openssl/openssl/releases

· https://www.openssl.org/source/

下载完后,解压到e:\\openssl目录

2)下载Windows版本的Active Perl环境:

· https://www.activestate.com/products/perl/downloads/

Perl下载完,安装即可

3)打开VS2019自带的开发者命令行工具,一般安装完vs2019,在开始菜单中可以找到
《Developer Command Prompt for VS 2019》这个工具,打开即可!

在刚才打开的工具中切换到刚才e:\\openssl目录下,然后开始执行以下3条命令进行编译:
如果只想编译出静态库libcrypto.lib,libssl.lib,则加入命令参数no-shared

perl Configure VC-WIN32 no-asm no-shared
ms\do_ms
nmake -f ms\ntdll.mak

具体命令用法,也可以参考openssl源码目录下的INSTALL.W32文件

一些常用参数:
--debug 编译debug版本
VC_WIN32 编译32平台
VC_WIN64A 编译64 arm版
VC_WIN64I 编译64 IA-64版

4)编译完成后,使用lib文件

首先需要在项目属性中,添加openssl的头文件目录openssl-1.0.2t\inc32
wps3
之后再把刚才生成的lib库文件放到项目根目录下,然后就可以声明并使用lib库中的函数了

#include <openssl/rsa.h>

#pragma comment(lib, "libeay32static_vs2019.lib")

需要注意的是,由于编译lib是选择了no-shared静态编译,所以我们的vs项目属性,也需要改成静态的
wps4

作者:FFE4

给我留言

留言无头像?