win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境

原文链接:https://blog.csdn.net/DaSo_CSDN/article/details/77587916

我是根据上诉文章在自己电脑上运行了一次,顺便再次整理一下,方便自己下次使用(感谢原作者)

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

1:安装VS2017

2:下载libcurl(本人使用的是:curl-7.59.0.zip)

 

编译步骤:

1:解压下载下来的libcurl安装包,并双击运行解压包中的“buildconf.bat”。

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第1张图片

2:打开VS2017自带的命令提示符(强调不是win7系统的命令提示符)

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第2张图片

选择对应的:编译64位就选64位的,编译32位就选32位的(编译几位的具体看自己工程所需要的运行环境)

比如此处本人选择64位的命令提示符。

3:通过命令提示符,进入libcul压缩包的winbuild文件夹

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第3张图片

4:定制编译

输入“nmake /f Makefile.vc mode=static VC=15 MACHINE=x64 DEBUG=no”。

mode:static表示静态编译,dll表示动态编译

VC:VC后面的数字表示编译的libcurl和VS相对应的版本号,可在libcurl解压文件curl-7.59.0\projects\Windows查看所有的VC版本。

MACHINE:x64表示编译64位环境使用的libcurl,x86表示编译32位环境使用的libcurl。 

如果需要debug版,将“DEBUG=no”改为“DEBUG=yes”,DEBUG=no”即release版本

5:输入定制编译命令后,运行此命令,等待完成

6:编译完成后,打开libcurl解压包,进入“builds”文件夹,一般工程使用“libcurl-vc15-x64-debug-static-ipv6-sspi-winssl”就可以(其实作者也不知道其他两个文件有什么用)

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第4张图片

7:打开“libcurl-vc15-x64-debug-static-ipv6-sspi-winssl”,可以看到有三个文件夹,此处需要注意的是如果是debug版本lib文件夹下是libcurl_a_debug.lib,如果是release版本lib文件夹下是libcurl_a.lib。

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第5张图片

在VS工程中使用

1:进入VS工程属性

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第6张图片

2:选择对应的配置和平台“Debug”or "Release" , "x64" or "x32"

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第7张图片

3:将编译生成的”include文件夹“和”lib文件夹“分别添加至“包含目录”和“库目录”。

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第8张图片

4:将“libcurl_a.lib”或者“libcurl_a_debug.lib”添加至工程(链接器——>输入——>附加依赖项)。 

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第9张图片

5:如果你使用了静态编译libcurl,则需将“CURL_STATICLIB”添加至工程(C/C++ —>预处理器—>预处理器定义)。

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第10张图片

6:在C/C++ —>代码生成—>运行库中选择对应的版本运行库,release对应MT、MD,debug对应MTd/MDd

        官方并不建议使用“/MT”或“/MTd”……同时经过本人测试MT、MTd会报错

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第11张图片

7:最后在运行VS时,检查运行环境和你配置环境是不是一致

win7系统VS2017编译并配置C/C++-libcurl(7.59.0)开发环境_第12张图片

你可能感兴趣的:(libcurl)