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")