「編程」 Libcurl編譯教程

libcurl依賴關係:

「編程」 Libcurl編譯教程


libcurl https://curl.haxx.se/

zlib http://www.zlib.net/

openssl https://www.openssl.org/


1、編譯zlib

debug版本的靜態編譯會有MDd MTd選項的不同

在開發Windows程序時使用zlib庫要在項目編譯選項中加入 ZLIB_WINAPI 預處理


2、編譯openssl

在openssl源碼根目錄中的 ms\\nt.mak文件中:

編譯選項注意需要手動設置zlib目錄 (/I目錄)

還有 三個編譯選項 -DASMV -DASMINF -DZLIB_WINAPI

CFLAG= /IG:\\libcurl\\zlib\\include -DASMV -DASMINF -DZLIB_WINAPI /MTd......


加入不適用默認庫/NODEFAULTLIB:MSVCRTD.lib

LFLAGS=/NODEFAULTLIB:MSVCRTD.lib /nologo /subsystem:console /opt:ref /debug

RSC=rc


3、編譯libcurl

在libcurl源碼根目錄中的 winbuild\\MakefielBuild.vc中:

要加入選項 ZLIB_WINAPI

!IFDEF USE_ZLIB

ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /DZLIB_WINAPI

!ENDIF


4、使用libcurl庫開發其他程序

為了正常靜態編譯

需要在預處理器中加入 CURL_STATICLIB


為了編譯鏈接正確

需要加入

#pragma comment(lib, "curl/lib/libcurl_a_debug.lib")

#pragma comment(linker,"/NODEFAULTLIB:LIBCMTD.lib")


分享到:


相關文章: