编译配置环境:
IDE:Visual Studio 2013
Env:Win 10
libcurl_version:curl 7.64.0
官网下载地址:https://curl.haxx.se/download.html
一,构建libcurl静态库 (这里编译x64的release版本)
1,下载libcurl源码包,这里使用最新版本。
下载到本地解压后,留意红色框选的winbuild目录:
2,打开命令提示符
“开始”菜单——>Visual Studio 2013——>Visual Studio Tools——>VS2013 开发人员命令提示。
打开如下窗口(本机64位,这里选择红色框选快捷命令):
3,编译libcurl库
命令窗口切换到刚刚解压的源码文件夹的winbuild目录下
命令解析:
nmake是MS的编译工具
/f 参数描述文件名不使用默认的makefile
Makefile.vc 是winbuild里的makefile文件
mode=static 编译静态链接库
vc=12 是VC++版本号
MACHINE=64,64位lib库
DEBUG=no,是否是debug版本(这里是release版本)。
更多详细命令参数,参考winbuild
文件夹中的BUILD.WINDOWS.txt
查看。
回车,等待编译完成,关闭命令行界面。此时会在curl根目录下,生成一个builds文件夹:
打开builds
文件夹,其中libcurl-vc12-x64-release-static-ipv6-sspi-winssl
文件夹包含了我们需要的运行库和头文件(可将该目录拷贝至其他位置,若方便后续使用)。
二,在Visual Studio中链接libcurl
1,在Visual Studio中,右键单击解决方案资源管理器中的项目,然后单击“属性”。
2,配置属性> C / C ++>常规>其他包含目录:添加F:\curl-7.64.0\builds\libcurl-vc12-x64-release-static-ipv6-sspi-winssl\include。
3,配置属性>链接器>常规>其他库目录:添加F:\curl-7.64.0\builds\libcurl-vc12-x64-release-static-ipv6-sspi-winssl\lib
将以下lib添加至工程!
libcurl_a.lib;Ws2_32.lib;Wldap32.lib;winmm.lib;Crypt32.lib;Normaliz.lib;
使用了静态编译libcurl,所以需要将CURL_STATICLIB预编译
添加至工程。
如果没有编译debug版libcurl,则需要将“Runtime Library”改为Release版(即后面不带小写字母d
)。同时官方并不建议使用“/MT”或“/MTd”。
注意此处设置修改为和上述设置一致。
三,项目中调用libcurl
debug版本和动态库依据上面流程,改一下编译命令,即可生成使用。
感谢以下作者的辛勤劳作:
https://blog.csdn.net/jmh1996/article/details/79766409?tdsourcetag=s_pcqq_aiomsg
https://my.oschina.net/u/1420791/blog/198247?tdsourcetag=s_pcqq_aiomsg
https://code.i-harness.com/zh-CN/q/133c99d?tdsourcetag=s_pcqq_aiomsg
https://blog.csdn.net/DaSo_CSDN/article/details/77587916