首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

libcurl 最新版無官方 MSVC 預編譯包的原因與解決方案:自行編譯或改用 vcpkg/Conan

     編輯:程式設計綜合問答

原因

libcurl 官方僅提供原始碼與 MinGW 預編譯二進位;MSVC 二進位因版本眾多 (VS2010~2022、MD/MT、x86/x64、DLL/Static) 維護成本極高,故不再提供。

三種解決方案

  1. vcpkg (Microsoft 官方套件管理器,推薦):
    vcpkg install curl:x64-windows curl:x86-windows
    # 自動處理靜態/動態、MD/MT、依賴 (OpenSSL, zlib, zstd)
    
  2. Conan (跨平台 C++ 套件管理器):
    conan install curl/8.5.0@ -s compiler=Visual Studio -s compiler.version=17 -s arch=x86_64
    
  3. 自行從源碼用 CMake 編譯:
    cmake -G "Visual Studio 17 2022" -A x64 -DCURL_STATICLIB=ON -DBUILD_SHARED_LIBS=OFF ..
    cmake --build . --config Release
    

替代方案:MFC CHttpFile / WinHTTP

若僅需簡單 HTTP GET/POST,Windows 原生 WinHTTP 或 MFC CHttpFile 免外部依賴,部署極簡。

避坑指南

  • 靜態連結需定義 CURL_STATICLIB 並連結 libcurl_a.lib + ws2_32.lib wldap32.lib crypt32.lib 等。
  • 動態連結需將 libcurl.dll 放至 exe 同目錄或 PATH。
  • OpenSSL 版本必須與 libcurl 編譯時一致,否則執行期崩潰。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved