Windows平台用 conan 使用MinGW编译器编译libcurl,要如下执行
CMD下执行
$ conan install libcurl/7.80.0@ ^
-s compiler=gcc ^
-s compiler.version=5.2 ^
-e CC=P:\MinGW\mingw64\bin\gcc.exe ^
-e CXX=P:\MinGW\mingw64\bin\g++.exe ^
-o libcurl:with_unix_sockets=False ^
--build missing
请将CC,CXX的值替换为你实际的MinGW编译器位置
MSYS2/git-bash下执行
$ conan install libcurl/7.80.0@ \
-s compiler=gcc \
-s compiler.version=5.2 \
-e CC=$(which gcc) \
-e CXX=$(which g++) \
-o libcurl:with_unix_sockets=False \
--build missing
关于为什么要用
-e
指定CC,CXX编译器,是因为libcurl默认是依赖OpenSSL,而关于MinGW编译OpenSSL,参见我之前的文章: 《conan入门(二十一):解决MinGW编译Openssl的编译错误:crypto/dso/dso_win32.c》 -o libcurl:with_unix_sockets=False ,with_unix_sockets是libcurl的一个编译选项,默认为True,显然在Windows平台不能使用Unix Socket API,所以这里要改为False,否则编译会报错: configure: error: --enable-unix-sockets is not available on this platform!
libcurl默认的ssl库使用的是OpenSSL,但也可以使用其他的ssl库:wolfssl
, schannel
, darwinssl
通过with_ssl
参数可以指定要使用的ssl库,如使用wolfssl
$ conan install libcurl/7.80.0@ \
-s compiler=gcc \
-s compiler.version=5.2 \
-e CC=$(which gcc) \
-e CXX=$(which g++) \
-o libcurl:with_unix_sockets=False \
-o libcurl:with_ssl=wolfssl \
-o libcurl:with_ntlm=False \
-o libcurl:with_ntlm_wb=False \
--build missing