在我的一篇博客中写了编译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。

win10下使用vs2015编译支持xp系统的libcurl相关推荐

  1. win10 vs2015 jsoncpp编译 支持xp系统

    01 环境 系统:win10企业版10.0.14393 vs2015企业版.git.CMake3.4.0 相关文档: 老官网:http://open-source-parsers.github.io/ ...

  2. VS2015编译适用于XP系统sp3的dll全过程-无需vs2015运行库

    问题1:dll是否依赖于其他的库 答:dll依赖于libcurl+openssl+boost,因此dll要编译成支持xp的静态MFC+MT版,libcurl+openssl+boost同样也要编译成支 ...

  3. libcurl编译支持xp系统

    文章目录 前言 一.为什么要编译libcurl? 二.编译步骤 1.准备编译工具:ActivePerl.DMake.NASM 2.编译OpenSSL,支持XP系统 3.编译libcurl 总结 前言 ...

  4. VS2019和boost编译支持xp系统

    前言 ​ 最近要做个守护程序来监听一个http程序,故想到了windows的服务程序.因为大量用户使用xp系统,所以要兼容xp. ​ 我用的是vs2019和boost库.两个都需要设置,才能保证程序在 ...

  5. 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集

    上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...

  6. 使用nw.js将网址打包生成exe可安装程序支持xp系统

    说明: 查了很多资料,都是将本地代码打包,且都有头无尾,所以将自己的打包经过写一个完整教程. 注:(本文是将网址[例:www.baidu.com]打包成一个可安装的exe文件) 一:安装前准备程序 1 ...

  7. Win10下用VS2017编译live555

    Win7下使用VS2013编译live555 一.live555简介 live555是一个为流媒体提供解决方案的跨平台C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等 ...

  8. 基于cefsharp的浏览器应用开发(支持XP系统)

    一.开发环境 VS2013 + CefSharp WinForms 37.0.3 二.CefSharp WinForms 37.0.3 安装方法: 1. VS2013: 工具 -> NuGet包 ...

  9. win10环境编译支持xp的libcurl+openssl踩过的坑

    1.编译环境 win10环境,64位,vs2013 2.使用环境 dll方式.兼容xp.32位 3.编译过程 3.1 编译openssl 3.1.1. 使用工具ActivePerl  http://w ...

最新文章

  1. matlab的NLP功能,pyhanlp 共性分析与短语提取内容详解
  2. 提高代码质量:如何编写函数
  3. 机器学习一定要很优秀才能做嘛?其实我们都可以。
  4. 浅谈href=#与href=javascript:void(0)的区别
  5. Nokia Imaging SDK滤镜使用入门
  6. Win10家庭版禁用系统更新方法汇总及问题解决
  7. C语言——知识点汇总
  8. iPhone、iPad屏幕分辨率尺寸对比
  9. 如何规范小开发公司的测试流程。?
  10. 前端如何还原设计稿?
  11. 蓝桥杯——单片机学习(3——点亮LED灯)
  12. unreal4 分辨率设置
  13. OpenJDK16 ZGC 源码分析
  14. cocos2d拖动组件吸附效果
  15. 计算机如何访问苹果6s的相册,如何在电脑中打开苹果手机中的HEIC格式的照片?...
  16. Myeclipse下载github上项目到本地(图解)
  17. FPGA学习日记(七)HDMI图像数据传输
  18. 联网游戏开发实例分享之《游侠姐妹》(附源码)
  19. 餐饮行业的成本率与毛利率
  20. R中安装Rattle包的步骤

热门文章

  1. 多方位测试一下for循环不同写法的性能差别
  2. A[n.m]是一个n行m列的矩阵,明]表示A的第i行列的元素,定义x难J为A的第i行和第i列除了al.]之 外所有元素(共n+m-2个)的乘积,即xlj=(1]a1L.21. a[j-1..[.m
  3. 【机器学习】拉格朗日对偶性
  4. 转换为Json数据的几种方式
  5. Unity 多张图片 合并雪碧图
  6. av_interleaved_write_frame():Broken pipe
  7. 电脑屏幕拓展到另一台电脑(全网最详细)
  8. [原创] 神的计划9 - 创世纪–小结
  9. FaceBook推出的Android图片加载库Fresco
  10. linux配置php环境变量