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

相关文章

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Windows环境下安装达梦数据库的完整步骤

《Windows环境下安装达梦数据库的完整步骤》达梦数据库的安装大致分为Windows和Linux版本,本文将以dm8企业版Windows_64位环境为例,为大家介绍一下达梦数据库的具体安装步骤吧... 目录环境介绍1 下载解压安装包2 根据安装手册安装2.1 选择语言 时区2.2 安装向导2.3 接受协议

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装