libcurl在windows中编译和使用的说明文档(官方翻译)

1 篇文章 0 订阅
1 篇文章 0 订阅

使用Visual C构建先决条件


本文档描述了如何编译,构建和安装curl和libcurl
从使用Visual C构建工具的来源。 要用VC构建,你会
当然要先安装VC。 所需的最低版本VC是6(Visual Studio 6的一部分)。 但是使用更新的版本是
强力推荐。

VC也是Windows Platform SDK的一部分。 您不必安装完整的Visual Studio或如果你想要的只是构建curl,只装Visual C++。

最新的Platform SDK可以从以下位置免费下载:

     https//developer.microsoft.com/en-us/windows/downloads/sdk-archive

如果您使用VC6构建,那么您还需要安装2003年2月的SDK平台版本,可从以下位置下载的Platform SDK版本:

     https//www.microsoft.com/en-us/download/details.aspx?id=12261

如果你想支持zlib,openssl,c-ares,ssh2,你必须下载它们分开并将它们复制到deps目录,如下所示:

    somedirectory \
     | _curl-SRC
     |  | _winbuild
     |
     | _deps
       | _ lib
       | _包括
       | _ bin

也可以在其他一些随机中创建deps目录放置,并使用WITH_DEVEL选项设置,告诉Makefile它的位置。

 

直接从git建立


当你从git下载代码并构建它时,而不是发布的源代码代码存档,您需要先运行“buildconf.bat”批处理文件(存在在源代码根目录中)进行设置。

 

打开VS命令行提示


使用'开发人员命令提示符VS <版本>'菜单项:
其中version是Visual Studio版本。 默认情况下开发人员提示
使用x86模式。 需要运行Vcvarsall.bat来设置提示
对于您想要的机器类型。
此类型的命令提示符有可能在某些Visual Studio版本中不存在。

 有关更多信息,请检查:
 https//docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs
 https//docs.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line

使用'VS <version> <platform> <type>命令提示符'菜单项:
 1.其中version是Visual Studio版本,平台例如是 64位并进行本地跨平台编译。 这种类型的命令提示符
 可能不存在于某些Visual Studio版本中。

 也可以看看:
 https//msdn.microsoft.com/en-us/library/f2ccy3wt.aspx

当你可以使用控制台后,转到Curl中的winbuild目录来源(输入下面命令):
cd curl-src\winbuild

然后你可以使用所需的选项调用nmake / f Makefile.vc进行编译(选项如下:)。
编译将在src目录的顶层目录,builds \目录中
使用为nmake调用提供的选项命名的目录。

nmake / f Makefile.vc mode = <static或dll> <options>

其中<options>是以下一个或多个:
VC = <6,7,8,9,10,11,12,14,15> - VC版本
WITH_DEVEL = <路径> -                     开发文件的路径(SSL,zlib等)
                                        默认位于deps的兄弟目录:../deps
                                        可以通过https//windows.php.net/downloads/php-sdk/deps/获取库。
                                        将它们解压缩到deps文件夹中。
                                        
WITH_SSL = <dll或static> -                 启用OpenSSL支持,DLL或静态

WITH_NGHTTP2 = <dll或static> -             启用HTTP / 2支持,DLL或静态

WITH_MBEDTLS = <dll或static> -             启用mbedTLS支持,DLL或静态

WITH_CARES = <dll或static> -             启用c-ares支持,DLL或静态

WITH_ZLIB = <dll或static> -                  启用zlib支持,DLL或静态

WITH_SSH2 = <dll或static> -             启用libSSH2支持,DLL或静态

ENABLE_SSPI = <yes或no> -                 启用SSPI支持,默认为yes

ENABLE_IPV6 = <yes或no> -                 启用IPv6,默认为yes

ENABLE_IDN = <yes或no> -                 启用Windows IDN API,默认为yes
                                                              需要Windows Vista或更高版本
                                        
ENABLE_WINSSL = <yes或no> -             启用本机Windows SSL支持,默认为yes

GEN_PDB = <yes或no> -                     生成程序数据库(发布版本的调试符号)

DEBUG = <yes或no> -                     调试版本

MACHINE = <x86或x64> -                     目标体系结构(默认为x86)

CARES_PATH = <自定义路径> -             自定义c-ares的自定义路径

MBEDTLS_PATH = <mbedTLS的路径> -         自定义mbedTLS的自定义路径

NGHTTP2_PATH = <HTTP/2的路径> -         自定义nghttp2的自定义路径

SSH2_PATH = <libSSH2的路径> -             自定义libSSH2的自定义路径

SSL_PATH = <OpenSSL的路径> -             自定义OpenSSL的自定义路径

ZLIB_PATH = <zlib的路径> -                 自定义zlib的自定义路径

 

使用微软的静态运行库连接


如果您使用的是mode = static,则nmake将创建并链接到静态构建libcurl,非静态运行库。 如果你必须使用静态运行库,通过传递RTLIBCFG = static选项,你可以强迫nmake编译静态运行库。
一般情况下你不应该使用它选项,nmake将默认为DLL 运行库。  
RTLIBCFG很少使用因此很少测试。 已经使用RTLIBCFG选项构建或者没有使用该选项,或者已指定不同的选项时,您必须销毁包含配置的构建目录
然后使用nmake就可以从头开始构建它。

 

旧版的Windows系统和SSL


使用此目录中的构建文件构建curl时,使用默认SSL支持将是WinSSL(Windows SSPI,更具体地说是Schannel->Secure Channel),
原生Windows操作系统附带的SSL库。  Windows <= XP中的WinSSL无法使用连接,因为不再支持过时握手的协议和算法

如果在早期版本的Windows中使用curl,您应该选择OpenSSL这样的SSL支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值