vs2005+Windows XP 编译OpenSSL 0.9.6a

2024-01-26 08:38

本文主要是介绍vs2005+Windows XP 编译OpenSSL 0.9.6a,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一开始用的是vs2012 + Windows 10,但是编译报错,无奈之下只能在xp虚拟机里编译,vc6和vs2005都试了,最后还是用了vs2005。

vc6编译的时候会报错,大致意思就是不识别long long类型,我不想改代码,也改不了,所以最后还是用的vs2005。使用vs2005虽然也有一些报错,但是陆续都解决了,附上编译好的32位动态库。

链接:https://pan.baidu.com/s/1NEjVBSEXhCSe72X-vrYDtg 
提取码:pztg 


ps. 今天又因为某些原因不得不尝试用vc6编译OpenSSL 0.9.6a,然后发现,只要不用汇编编译,vc6是可以编译通过的,而且没有报错!强烈建议改用vc6编译,注意不要用masm或者nasm。

链接:https://pan.baidu.com/s/1h-is583Qf-4ZPxsMEojF5g 
提取码:iu8z 

编译步骤

编译步骤其实很少,不算除错、测试、打包的话就3步:

1.perl Configure VC-WIN32

2.ms\do_ms

3.nmake -f ms\ntdll.mak

老版本OpenSSL使用vc++ && windows编译,就是会有一些奇奇怪怪的问题,作者在说明文档里也提到,很少使用win32编译环境,所以有问题也不奇怪了,新版本就好很多,虽然编译速度慢了点,但是一遍就过了,也没有什么报错。很好奇作者平时是用什么开发OpenSSL的,如果不是非得用老版本,建议直接上最新版本。

编译过程

1. 事先安装好perl 5,官方推荐的 ActivePerl下载安装包要先注册,我嫌麻烦,就用的Strawberry Perl。

2. 解压OpenSSL 0.9.6a源码,这里想要吐槽一下,我以为是老版本才需要自己编译,没想到最新版本也要自己编译,官方就不提供编译好的二进制包,不理解。

3.打开解压后的文件夹,找到编译安装说明文件,照着里面的步骤做:

4. 因为我是用的windows + vs2005,所以就只看win32的编译步骤就行了

 5. 打开vs2005 命令行

6. 进入到OpenSSL所在目录,然后按步骤执行perl Configure VC-WIN32

7. 然后执行ms\do_ms,这里要注意,不使用汇编,因为无论是masm还是nasm都会导致后面编译时报链接错误,原因未知

8. 然后执行nmake -f ms\ntdll.mak,报错C4996,大致意思就是要用带"_s"的函数,我不想改代码,就直接把警告屏蔽了。

9. 忽略警告C4996,打开ntdll.mak文件,修改make文件编译选项,加上/wd4996,保存之后再执行nmake -f ms\ntdll.mak

10. 继续编译,报错C4244 ,数据类型转换报错,不管,直接屏蔽,还是修改ntdll.mak文件

11. 继续编译,报错C4113,无语了,void和无参数不是一个意思吗,这还报错?直接屏蔽

12. 编译成功

13. 然后执行OpenSSL测试代码

14. 所有测试通过

15. 编写打包脚本,老版本的OpenSSL没有直接提供打包脚本,但是文档里其实是有的,稍微改改就行:

16。改完之后就是这样,其实就是把拷贝头文件的脚本改了一下,然后执行

 

17. 打包成功

这篇关于vs2005+Windows XP 编译OpenSSL 0.9.6a的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/646223

相关文章

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

C++工程编译链接错误汇总VisualStudio

目录 一些小的知识点 make工具 可以使用windows下的事件查看器崩溃的地方 dumpbin工具查看dll是32位还是64位的 _MSC_VER .cc 和.cpp 【VC++目录中的包含目录】 vs 【C/C++常规中的附加包含目录】——头文件所在目录如何怎么添加,添加了以后搜索头文件就会到这些个路径下搜索了 include<> 和 include"" WinMain 和

C/C++的编译和链接过程

目录 从源文件生成可执行文件(书中第2章) 1.Preprocessing预处理——预处理器cpp 2.Compilation编译——编译器cll ps:vs中优化选项设置 3.Assembly汇编——汇编器as ps:vs中汇编输出文件设置 4.Linking链接——链接器ld 符号 模块,库 链接过程——链接器 链接过程 1.简单链接的例子 2.链接过程 3.地址和

Windwos +vs 2022 编译openssl 1.0.2 库

一 前言 先说 结论,编译64位报错,查了一圈没找到解决方案,最后换了32位的。 使用qt访问web接口,因为是https,没有openssl库会报错 QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());if (reply){if (reply->error() == QNetworkReply::NoError

问题-windows-VPN不正确关闭导致网页打不开

为什么会发生这类事情呢? 主要原因是关机之前vpn没有关掉导致的。 至于为什么没关掉vpn会导致网页打不开,我猜测是因为vpn建立的链接没被更改。 正确关掉vpn的时候,会把ip链接断掉,如果你不正确关掉,ip链接没有断掉,此时你vpn又是没启动的,没有域名解析,所以就打不开网站。 你可以在打不开网页的时候,把vpn打开,你会发现网络又可以登录了。 方法一 注意:方法一虽然方便,但是可能会有

Windows/macOS/Linux 安装 Redis 和 Redis Desktop Manager 可视化工具

本文所有安装都在macOS High Sierra 10.13.4进行,Windows安装相对容易些,Linux安装与macOS类似,文中会做区分讲解 1. Redis安装 1.下载Redis https://redis.io/download 把下载的源码更名为redis-4.0.9-source,我喜欢跟maven、Tomcat放在一起,就放到/Users/zhan/Documents

Windows中,.net framework 3.5安装

安装.net framework,目前已知2种方法,如下: 一、在MSDN下载对应的安装包,安装,这种可能无法安装成功,概率很大,不成功使用第二种方法,基本上没问题。 二、win8/8.1/10 下安装 .net framework 3.5.1: 1. 打开 win8/8.1/10 安装盘(这里指系统安装镜像文件),提取 sources\sxs 文件夹到 X:\sources\sxs (X代

Windows 可变刷新率是什么?如何开启?

在现代计算设备中,显示屏的刷新率对用户体验起着至关重要的作用。随着显示技术的不断进步,固定刷新率显示器逐渐被支持可变刷新率(Variable Refresh Rate, VRR)技术的显示器所取代。 可变刷新率定义 可变刷新率是什么?可变刷新率(VRR)是一种显示技术,它允许显示器的刷新率动态调整,以匹配显卡输出的帧率。传统的显示器通常具有固定的刷新率(如60Hz、75Hz等),这意味着显示器

如何设置windows计划任务

如何设置windows计划任务 前言:在工作过程中写了一个python脚本,用于调用jira接口查询bug单数量,想要在本地定时任务执行,每天发送到钉钉群提醒,写下操作步骤用于记录。 1. 准备 Python 脚本 确保你的 Python 脚本已经保存到一个文件,比如 jira_reminder.py。 2. 创建批处理文件 为了方便任务计划程序运行 Python 脚本,创建一个批处理文

青龙面板2.9之Cdle傻妞机器人编译教程

看到有的朋友对傻妞机器人感兴趣,这里写一下傻妞机器人的编译教程。 第一步,这里以linux amd64为例,去官网下载安装go语言安装包: 第二步,输入下方指令 cd /usr/local && wget https://golang.google.cn/dl/go1.16.7.linux-amd64.tar.gz -O go1.16.7.linux-amd64.tar.gz