openssl1.0.2版本Windows安装问题

之前安装过1.1版本,Windows环境下C++ 安装OpenSSL库 源码编译及使用(VS2019)_vs2019安装openssl_肥宝Fable的博客-CSDN博客

后来发现linux编译不过,以为是版本问题,相差太大,所以降一下版本,以免后面写代码有问题。

当然结果发现是没有配链接的库:

Linux环境下C++ 接入OpenSSL-CSDN博客

不过安装1.0.2版本的时候,发现还是有很多坑的,所以记录下来以免后面还是踩坑。

流程可能稍微缩减了一下,由于安装1.1版本的时候,已经装了好多配套的东西,这里不再重复叙述,参考上面1.1版本的文章就好。可能有些东西是多余的。

另外网上找到解决问题的参考文章:

Windows 编译 openssl-1.0.2p静态库 32/64、debug/release、MT/MTd-腾讯云开发者社区-腾讯云

以下是正文:

根据需要编译的平台选择相应的控制台,64位的选择x64,32位的选择x86

执行:

cpp 复制代码
perl Configure VC-WIN32 no-asm --debug --prefix=E:\xxx\common\openSSL --openssldir=E:\xxx\common\ssl

结果并没有跟1.1版本的那样输出,不过好像并没有报错

跟着

cpp 复制代码
nmake

然后就提示错误了,

makefile(243) : fatal error U1001: 语法错误: 宏中的非法字符"{"

找了好久都没找到问题,后来直接搜版本才搜到点东西,

需要修改 ms/do_nasm.bat 文件,将原来

cpp 复制代码
perl util\mkfiles.pl >MINFO
perl util\mk1mf.pl nasm VC-WIN32 >ms\nt.mak
perl util\mk1mf.pl dll nasm VC-WIN32 >ms\ntdll.mak
perl util\mk1mf.pl nasm BC-NT >ms\bcb.mak

perl util\mkdef.pl 32 libeay > ms\libeay32.def
perl util\mkdef.pl 32 ssleay > ms\ssleay32.def

修改为:

cpp 复制代码
perl util\mkfiles.pl >MINFO
perl util\mk1mf.pl nasm debug VC-WIN32 >ms\nt.mak
perl util\mk1mf.pl dll nasm debug VC-WIN32 >ms\ntdll.mak
perl util\mk1mf.pl nasm BC-NT >ms\bcb.mak

perl util\mkdef.pl 32 libeay > ms\libeay32.def
perl util\mkdef.pl 32 ssleay > ms\ssleay32.def

就是将第二行和第三行编译选项增加了 debug 。修改完成后执行 ms/do_nasm.bat。

cpp 复制代码
.\ms\do_nasm.bat

直接搬别人的图了,懒得再执行一次了。

修改完成执行如下命令开始编译

cpp 复制代码
nmake -f ms\nt.mak

lib文件在out32.dbg目录下,libeay32.lib、ssleay32.lib

执行完之后,发现只有lib,没有dll文件

要修改 ms\ntdll.mak 将 CFLAG 的 /MDd 属性修改为 /MTd,与你调用项目匹配):

cpp 复制代码
nmake -f ms\ntdll.mak

这一步不知道是会直接生成lib和dll还是只生成dll的。

执行完之后,dll文件在out32dll.dbg

补充一点:dll文件是第二天才搞出来的。编译出lib之后,拿去编译项目工程,发现能编译过了,然后运行的时候,发现没有dll文件居然也可以运行。而且已经很晚了就没继续搞了。

后来越想越不对劲,肯定要dll文件的,全局搜索一下,发现好多软件都自带libeasy32.dll和ssleay32.dll,如果有哪个路径是在环境变量中的,应该会被搜索到。所以我还是趁还记得,编译了一下dll文件放到工程对于目录里面了。

相关推荐
2601_967980112 小时前
Python之wxPython模块的安装
linux·windows·python·wxpython·gui设计·1024程序员节
启观川3 小时前
[windows] windows下将文件夹映射为磁盘
windows·笔记
鬼手点金4 小时前
带工具调用的多轮交互:Agent 的核心循环
服务器·人工智能·windows·深度学习·microsoft·机器学习·交互
jiangliushi65 小时前
GPT-6.1 Sol 免费用:Windows 装完 Codex 提示“不是内部或外部命令”?三步加好 PATH
windows·gpt
猪腰子正5 小时前
深度学习环境安装教程-适用Windows系统
人工智能·windows·深度学习
2501_915106326 小时前
Windows 用 KXBuild 开发 iOS 项目,CocoaPods、SPM 怎么处理?
windows·vscode·ios·个人开发·swift·敏捷流程·cocoapods
公子小六6 小时前
基于.NET的Windows窗体编程之WinForms自定义控件(3)
windows·c#·.net·音视频·winforms
A1Book21 小时前
Win11 开机项治理方案:四层扫描、分级决策与可回滚落地
windows
FY@-@1 天前
VMware ESXi 7.0 实验全记录:嵌套安装 → 网络配置 → 存储 → Windows 10 虚拟机部署
运维·网络·windows·云计算
数据狐(Datafox)1 天前
一文读懂京东商品详情API:返回字段解读与 JSON 样例
java·开发语言·数据库·windows·json