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

2022-09-14 16:05:48 浏览数 (1)

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

在我的一篇博客中写了编译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的静态库,命令如下:

代码语言:javascript复制
perl configure VC-WIN32 no-asm --prefix="D:libcurlwindows_xpopenssl-OpenSSL_1_0_2ubuild_x86"

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

代码语言:javascript复制
msdo_ms.bat 
nmake -f msnt.mak 
nmake -f msnt.mak test
nmake -f msnt.mak clean
nmake -f msnt.mak install

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

代码语言:javascript复制
msdo_ms.bat 
nmake -f msntdll.mak 
nmake -f msntdll.mak test
nmake -f msntdll.mak clean
nmake -f msntdll.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.cn/158283.html原文链接:https://javaforall.cn

0 人点赞