libcurl编译支持xp系统
文章目录
- 前言
- 一、为什么要编译libcurl?
- 二、编译步骤
- 1.准备编译工具:ActivePerl、DMake、NASM
- 2.编译OpenSSL,支持XP系统
- 3.编译libcurl
- 总结
前言
libcurl是一个跨平台的网络协议库,支持http、https和ftp等大部分常用协议,程序中可以方便的使用HTTP POST、HTTP PUT、FTP 上传、HTTP基本表单上传等操作。
一、为什么要编译libcurl?
libcurl默认使用一些xp不支持的API函数,例如:InitializeCriticalSectionEx,如果直接使用会提示找到对应的接口函数,项目为了支持XP,需要重新编译libcurl。
二、编译步骤
1.准备编译工具:ActivePerl、DMake、NASM
下载安装Perl程序,用来编译OpenSSL,下载地址:
ActivePerl:https://www.activestate.com/products/perl/
Strawberry Perl: https://strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.msi
下载安装DMake,可以单独下载,也可以安装Perl后,在控制台直接使用PPM来安装,安装脚本:
PPM install dmake
下载安装NASM,不使用可以不安装,下载地址:
https://www.nasm.us/pub/nasm/releasebuilds/?C=M
2.编译OpenSSL,支持XP系统
下载OpenSSL v1.0版本:OpenSSL_1_0_2u,下载后把源码解压到d:\github\openssl目录。
根据项目使用的VS版本,选择相应的编译工具,例如我选择"VS2012 x86 本机工具命令提示",通过命令行进入到OpenSSL的源码目录,然后执行如下命令:
perl configure VC-WIN32 no-shared --prefix="d:\github\openssl\build_x86"
如果需要编译debug版本,则使用一下命令:
perl configure debug-VC-WIN32 no-shared --prefix="d:\github\openssl\build_x86"
- VC-WIN32 表示编译出来的程序时32位的(x86),64位程序使用VS_WIN64A(A代表AMD64)或者VC-WIN64I(I代表IA64)
- no-shared 表示编译静态库,如果需要编译动态库,去掉此选项
- –prefix后面跟的是编译完成保存的目录
编译OpenSSL静态库:
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
编译OpenSSL动态库:
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
编译完成后,可以在d:\github\openssl\build_x86目录下看到生成的lib库。
3.编译libcurl
从github上下载curl-7.69.1版本到d:\github目录下,使用VS2012打开Curl项目(项目在“d:\github\curl-7.69.1\projects\Windows\VC11”)。按照常规的依赖库配置方式,把OpenSSL的头文件和库目录配置好curl项目,然后根据需求选择编译选项即可,例如:
为了支持XP系统,编译工具一定要选择支持XP的选项:
编译成功后就可以在curl的build目录下看到编译好的库文件了:
总结
编译openssl过程中,可能还会遇到链接加密库失败的问题,如果遇到在项目链接库里面配置好Crypt32.lib即可编译成功。
libcurl编译支持xp系统相关推荐
- win10下使用vs2015编译支持xp系统的libcurl
在我的一篇博客中写了编译libcurl的,那种方式编译的curl动态库在win7到win10上可以使用,但是在xp系统里就不能使用了,接下来讲解一种方法可以在xp系统里使用cur. 1 编译opens ...
- win10 vs2015 jsoncpp编译 支持xp系统
01 环境 系统:win10企业版10.0.14393 vs2015企业版.git.CMake3.4.0 相关文档: 老官网:http://open-source-parsers.github.io/ ...
- VS2019和boost编译支持xp系统
前言 最近要做个守护程序来监听一个http程序,故想到了windows的服务程序.因为大量用户使用xp系统,所以要兼容xp. 我用的是vs2019和boost库.两个都需要设置,才能保证程序在 ...
- VS2015编译适用于XP系统sp3的dll全过程-无需vs2015运行库
问题1:dll是否依赖于其他的库 答:dll依赖于libcurl+openssl+boost,因此dll要编译成支持xp的静态MFC+MT版,libcurl+openssl+boost同样也要编译成支 ...
- 基于cefsharp的浏览器应用开发(支持XP系统)
一.开发环境 VS2013 + CefSharp WinForms 37.0.3 二.CefSharp WinForms 37.0.3 安装方法: 1. VS2013: 工具 -> NuGet包 ...
- 使用nw.js将网址打包生成exe可安装程序支持xp系统
说明: 查了很多资料,都是将本地代码打包,且都有头无尾,所以将自己的打包经过写一个完整教程. 注:(本文是将网址[例:www.baidu.com]打包成一个可安装的exe文件) 一:安装前准备程序 1 ...
- win10环境编译支持xp的libcurl+openssl踩过的坑
1.编译环境 win10环境,64位,vs2013 2.使用环境 dll方式.兼容xp.32位 3.编译过程 3.1 编译openssl 3.1.1. 使用工具ActivePerl http://w ...
- Qt5.6.3+VS2013环境搭建教程(最后支持XP系统的Qt版本)
之所以使用Qt5.6.3+VS2013环境搭配,是考虑到Qt5.6.x是Qt官方最后支持Windows XP的版本,再往大的版本都不支持XP了.VS2013是编译器,因为官方没有提供VS2015以上的 ...
- xp框架下载官方_斐讯路由器系列「K1-K2-K2P-K2T」-Breed刷入工具v1.1支持XP系统
软件声明: 本软件仅仅是用来刷入Breed不死控制台的,软件由huzibbs制作,本人并不是Breed的原作者,请勿搞混,避免给H大和本人带来困扰. 软件介绍: K1/K1S/K2/K2P/K2T-B ...
最新文章
- 中国电子学会青少年编程能力等级测试图形化四级编程题:计算生肖
- 数据方面高可用方案简单总结
- java script isblank_java判断一个字符串是否为空,isEmpty和isBlank的区别
- 中高德地图只显示某一城市_干货 | 如何快速制作数据地图?让你的可视化逼格再高一级!...
- 【ARM】Tiny4412裸板编程之蜂鸣器
- 飞鸽传书FreeEIM买还是不买?
- 学生对象数组实现按年龄排序 按成绩排序1022
- 异常收集之:navicatdesignquery.sql.bak 系统找不到指定路径
- Android 系统(167)----OTA升级常见问题
- monkey配置及简单报告生成(安卓)
- 浅分享一下zzulioj刷题总结
- 深度卷积神经网络(CNN)
- 基于 Flink 的 PB 级数据即席查询实践
- ps显示计算机内存不足怎么办,PS常见问题——内存不足,解决办法!
- jQuery 效果 - 淡入淡出,fadeIn,fadeOut,fadeToggle的使用
- 小米手机是什么系统?
- Lua 实现复数计算器
- 初中生c语言入门自学视频,初中生如何学好c语言
- outlook邮箱收到的附件(excel, word, ppt)不能正常打开的解决办法
- 11 款超赞的 MySQL 图形化工具,好用!