- 二月
- 08
- load
- 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
打开curl根目录的buildconf.bat
打开x86 Native Tools Command Prompt for VS 2017(因为需要兼容xp,如果不考虑xp系统同时不考虑x86系统可以打开x64 Native Tools Command Prompt for VS 2017)
直接cd进入curl-7.58.0\winbuild
修改.vc文件,使libcurl兼容xp(不考虑xp可以跳过这一步)
打开curl-7.58.0\winbuild\MakefileBuild.vc,把第63行的
改为:
由于本文主要以7.58.0为例,往后版本的行号可能不同,这里放出截图供大家参考
因为我们使用的不是VC6,所以没必要修改第59行
把96和97行的
改为
开始编译:
返回刚刚的x86 Native Tools Command Prompt for VS 2017,根据Makefile.vc所支持的命令与自身需求得出以下命令:
如果你只是想要个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系统能否执行:
好的,收工
原创文章,转载请注明出处