VS2015编译libcurl

前言

编译libcurl是一件繁琐但并不复杂的事情,因为需要多个库的配合。编译前务必提前准备好zlib库openssl库libssh2库

编译前准备

编译zlib

  • 编译zlib(32位
    1.下载zlib源码,笔者下载的是zlib 1.2.11
    2.将压缩包解压到指定路径(如E:/zlib-1.2.11)。
    3.打开VS2015 x86 本机工具命令提示符
    4.切换到E:/zlib-1.2.11\contrib\masmx86目录,执行bld_ml32.bat文件,执行完后会产生4个文件,分别为:inffas32.lstmatch686.lstinffas32.objmatch686.obj
    5.将上一步产生的inffas32.objmatch686.obj文件复制到根目录下(E:/zlib-1.2.11),将VS2015命令提示符目录切换到根目录(E:/zlib-1.2.11),执行nmake命令。待编译成功完成,就会在根目录下(E:/zlib-1.2.11)生成zlib.libzlib1.dll文件。
    nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="inffas32.obj match686.obj"  
    
  • 编译zlib(64位
    1.下载zlib源码,笔者下载的是zlib-1.2.11
    2.将压缩包解压到指定路径(如E:/zlib-1.2.11)。
    3.打开VS2015 x64 本机工具命令提示符
    4.切换到E:/zlib-1.2.11\contrib\masmx64目录,执行bld_ml64.bat文件,执行完后会产生4个文件,分别为:inffasx64.lstgvmat64.lstinffasx64.objgvmat64.obj
    5.将上一步产生的inffasx64.objgvmat64.obj文件复制到根目录下(E:/zlib-1.2.11),将VS2015命令提示符目录切换到根目录(E:/zlib-1.2.11),执行nmake命令。待编译成功完成,就会在根目录下(E:/zlib-1.2.11)生成zlib.libzlib1.dll文件。
    nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="inffasx64.obj gvmat64.obj"  
    

编译openssl

1.准备工作

2.设置VC编译环境

  • 编译32位openssl
    1)打开VS2015 x86 本机工具命令提示符,执行以下命令切换目录。
    cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
    
    2)执行.bat文件
    vcvars32.bat
    
  • 编译64位openssl
    1)打开VS2015 x64 本机工具命令提示符,执行以下命令切换目录。
    cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
    
    2)执行.bat文件
    vcvars64.bat
    

3.编译openssl

  • 编译32位openssl
    1)切换VS2015 x86 本机工具命令提示符目录到openssl解压目录。

    cd E:\openssl-1.0.2l
    

    2)配置输出目录和编译类型 (类型见备注

    perl Configure [类型] no-asm --prefix="[输出目录]"
    

    3)配置模式
    执行命令

    ms\do_nasm
    

    4)编译openssl动态链接库

    nmake -f ms\ntdll.mak
    nmake -f ms\ntdll.mak test
    nmake -f ms\ntdll.mak install
    

    备注:编译32位openssl可选的编译类型

    • debug-VC-WIN32  编译32位debug版本
    • VC-WIN32              编译32位release版本
  • 编译64位openssl
    1)切换VS2015 x64 本机工具命令提示符目录到openssl解压目录。

    cd E:\openssl-1.0.2l
    

    2)配置输出目录和编译类型 (类型见备注

    perl Configure [类型] no-asm --prefix="[输出目录]"
    

    3)配置模式
    执行命令

    ms\do_win64a.bat
    

    4)编译openssl动态链接库

    nmake -f ms\ntdll.mak
    nmake -f ms\ntdll.mak test
    nmake -f ms\ntdll.mak install
    

    备注:编译64位openssl可选的编译类型

    • debug-VC-WIN64A  编译64位debug版本
    • VC-WIN64A              编译64位release版本

编译libssh2

1.下载libssh2并解压到指定目录(如E:\libssh2-1.8.0),笔者下载的是libssh2-1.8.0
2.打开E:\libssh2-1.8.0\win32目录下的libssh2.dsw进行编译,编译成功后生成libssh2.liblibssh2.dll。(编译libssh2需要openssl

编译libcurl

1.下载curl并解压(如E:\curl-7.56.0)。笔者下载的是curl-7.56.0
2.打开E:\curl-7.56.0\projects\Windows\VC14目录下的curl-all.sln,添加openssllibssh2头文件目录包含目录,添加openssllibssh2库文件目录库目录,然后右击libcurl项目根据需求进行编译。成功编译后,在E:\curl-7.56.0\build目录下生成libcurl.liblibcurl.dll

参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容