編譯配置環境:
IDE:Visual Studio 2013
Env:Win 10
libcurl_version:curl 7.64.0
官網下載地址:https://curl.haxx.se/download.html
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
文件夾包含了我們需要的運行庫和頭文件(可將該目錄拷貝至其他位置,若方便後續使用)。
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」。
注意此處設置修改爲和上述設置一致。
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