win10下使用vs2015编译支持xp系统的libcurl

win10下使用vs2015编译支持xp系统的libcurl在我的一篇博客中写了编译libcurl的,那种方式编译的curl动态库在win7到win10上可以使用,但是在xp系统里就不能使用了,接下来讲解一种方法可以在xp系统里使用cur。1编译openssl由于在perl官网里提供的perl版本没有dmake,因此使用我提供的perl5.24带dmake的包,下载地址。安装好perl后,可以尝试使用ppminstalldmake命令来进行安装dmake模块,在我电脑里无法安装,因此直接使用dmake离线包。将dmake.exe所在目录添加到系统pat

大家好,又见面了,我是你们的朋友全栈君。

在我的一篇博客中写了编译libcurl的,那种方式编译的curl动态库在win7到win10上可以使用,但是在xp系统里就不能使用了,接下来讲解一种方法可以在xp系统里使用cur。

1 编译openssl

由于在perl官网里提供的perl版本没有dmake,因此使用我提供的perl5.24带dmake的包,下载地址

在这里插入图片描述
安装好perl后,可以尝试使用ppm install dmake命令来进行安装dmake模块,在我电脑里无法安装,因此直接使用dmake离线包。将dmake.exe所在目录添加到系统path变量里:
在这里插入图片描述
接下来还需要安装nasm,nasm-2.13.01-installer-x64.exe下载地址
下载完成后进行安装,安装后也需要把nasm的安装目录添加到环境变量path里,如下图所示:
在这里插入图片描述
以上就是openssl编译所需要的环境。
编译供xp系统使用的不能用openssl的1.1版本,而应该用1.0版本,这里下载OpenSSL_1_0_2u
在这里插入图片描述
下载完成解压,使用vs2015的开发人员命令提示符进入到解压后的目录,在这里编译openssl的静态库,命令如下:

perl configure VC-WIN32 no-asm --prefix="D:\libcurl\windows_xp\openssl-OpenSSL_1_0_2u\build_x86"

在openssl1.1版本中,上面这一行加一个no-shared就可以编译成静态库,但openssl1.0是通过ms目录下的进行动态库和静态库编译的。
编译静态库命令如下:

ms\do_ms.bat 
nmake -f ms\nt.mak 
nmake -f ms\nt.mak test
nmake -f ms\nt.mak clean
nmake -f ms\nt.mak install

如果要编译动态库,使用如下命令:

ms\do_ms.bat 
nmake -f ms\ntdll.mak 
nmake -f ms\ntdll.mak test
nmake -f ms\ntdll.mak clean
nmake -f ms\ntdll.mak install

编译好的lib库如下:
在这里插入图片描述

2 编译curl

从github上下载curl最新版,curl7.74.0
使用vs2015打开curl工程
在这里插入图片描述
将解决方案配置改为如下所示:
在这里插入图片描述
右键libcurl工程,将平台工具集改为如下:
在这里插入图片描述
在vc++目录的包含目录和库目录设置为编译好的opensll库所在路径:
在这里插入图片描述
代码生成–运行库选择如下MT模式:
在这里插入图片描述
链接器-系统更改如下:
在这里插入图片描述
链接器–命令行添加上:
/SUBSYSTEM:CONSOLE,“5.01”
在这里插入图片描述
按照上图步骤,把curl这个工程也进行相同设置,就可以编译出可以在xp系统里运行的libcurl。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158283.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月12日 下午10:16
下一篇 2022年7月12日 下午10:16


相关推荐

  • Springboot集成kafka_Spring boot

    Springboot集成kafka_Spring bootspringboot集成TkMapper简化持久层法人代码熟悉,提高开发效率;先给大家截个图看一下效果这就是效果!!是不是感觉很爽。(TkMapper对单表的操作很方便的)下来我们进入正题,第一步:Pom文件中加载jar文件<dependency><groupId>tk.mybatis</groupId><ar…

    2022年10月6日
    5
  • python闭包详解_python闭包的使用场景

    python闭包详解_python闭包的使用场景闭包首先了解一下:如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用

    2022年7月28日
    21
  • HTML中的定位(php跳转到指定网页)

    1、通过地址定位:先页面定位位置:<aname=”name”/>然后通过js地址跳转:location.href=”#name”;或直接点击的html<ahref=”#name”>2、基于H5标准语法跳转先页面定位位置:<aid=”name”/>document.querySelector(“#name”).sc…

    2022年4月14日
    57
  • Hadoop入门(八)——本地运行模式+完全分布模式案例详解,实现WordCount和集群分发脚本xsync快速配置环境变量 (图文详解步骤2021)[通俗易懂]

    Hadoop入门(八)——本地运行模式+完全分布模式案例详解,实现WordCount和集群分发脚本xsync快速配置环境变量 (图文详解步骤2021)[通俗易懂]Hadoop运行模式1)Hadoop官方网站:http://hadoop.apache.org/2)Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。伪分布式模式:也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境。个别缺钱的公司用来测试,生产环境不用。完全分布式模式:多台服务器组成分布式环境。生产环境使用。本地运行模式(官方WordCount案例)1

    2022年6月2日
    44
  • ue4在c盘的缓存_怎么清除ps在C盘的缓存

    ue4在c盘的缓存_怎么清除ps在C盘的缓存大家好,可能很多新手使用UE4的时候会发现C盘越来越小了,那是因为UE4引擎的缓存文件默认保存在C盘的缘故。下面来告诉大家怎么解决这个问题。概述一、出现的问题:UE4的缓存文件会导致C盘膨胀!二、解决的方式:请严格按照下列步骤来执行1.更改UE4的缓存路径2.删除UE4在C盘的缓存3.删除各个引擎版本SwarmAgent(联机构建)的缓存文件…

    2022年10月5日
    5
  • 怎么完全卸载赛门铁克_如何卸载symantec

    怎么完全卸载赛门铁克_如何卸载symantec前段时间,业务的虚机上安装了symantecEndpointProtection(正版),发现虚机运行一段时间就会失去响应死机,并且有些安装symantec的虚机3389端口无法使用,怎么折腾都不行。最后决定卸载它。一、是否可以用停止服务和终止进程再卸载的方式卸载呢?答案不行有3个symantec的服务,前2个可以终止,但symantecEndpointProtection这个服务打开都…

    2022年6月12日
    86

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号