• 二月
  • 08
  • load

Visual Studio(VS2017)编译兼容xp的libcurl-7.58.0 2018-02-08 15:11:23

下载与配置:

libcurl-7.58.0 下载地址:https://curl.haxx.se/download.html

libcurl下载截图

打开curl根目录的buildconf.bat

打开x86 Native Tools Command Prompt for VS 2017(因为需要兼容xp,如果不考虑xp系统同时不考虑x86系统可以打开x64 Native Tools Command Prompt for VS 2017)

开始-Visual Studio 2017-x86 Native Tools Command Prompt for VS 2017

直接cd进入curl-7.58.0\winbuild

进入curl-7.58.0\winbuild目录

修改.vc文件,使libcurl兼容xp(不考虑xp可以跳过这一步)

打开curl-7.58.0\winbuild\MakefileBuild.vc,把第63行的

改为:

由于本文主要以7.58.0为例,往后版本的行号可能不同,这里放出截图供大家参考

修改CFLAGS

因为我们使用的不是VC6,所以没必要修改第59行

把96和97行的

改为

修改CURL_CFLAGS&CURL_LFLAGS

开始编译:

返回刚刚的x86 Native Tools Command Prompt for VS 2017,根据Makefile.vc所支持的命令与自身需求得出以下命令:

libcurl的命令

如果你只是想要个dll(动态编译),把mode=static改为mode=dll即可

我们使用的是2017,因此填写的是VC15,至于原因请看以下

- VC11构建需要安装Visual Studio 2012 x86或x64的Visual C ++ Redistributable

- VC14构建需要安装Visual Studio 2015 x86或x64的Visual C ++ Redistributable

- VC15构建需要安装Visual Studio 2017 x64或x86的Visual C ++ Redistributable

如果不考虑x86,可以把MACHINE=x86改为MACHINE=x64

如果需要debug,把DEBUG=no改为DEBUG=yes

编译完成后打开curl-7.58.0/builds,可见以下三个文件

生成后

如果没有特殊需求,只保留第一个(libcurl-vc15-x86-release-static-ipv6-sspi-winssl)即可

配置:

新建项目,取名为任意(这里叫CurlTest)

新建项目

打开属性页

打开属性页

配置属性-常规-平台工具集,改为Visual Studio 2017 - Windows XP (v141_xp)(如果不考虑xp兼容可以略过这一步)

更改平台工具集

VC++目录,把刚刚编译的curl的include和lib,分别添加到“包含目录”和“库目录”

引入目录与库

链接器-输入-附加依赖项,添加libcurl_a.lib

添加依赖

因为我们是静态编译的,所以要在C/C++-预处理器-预处理器定义,添加CURL_STATICLIB

添加预处理

我们刚刚编译的是Release版的,所以要在C/C++-代码生成-运行库,把/MDd改为/MD

改变运行库

根据官方给的示例测试一下:https://curl.haxx.se/libcurl/c/curl_easy_init.html

验证一下xp系统能否执行:

验证xp

好的,收工

 

原创文章,转载请注明出处

正在加载评论...

0 / 240

警告

确定