conan入门(二十三):Windows下MinGW编译libcurl

2022-04-13 12:34:26 浏览数 (1)

conan Windows下MinGW编译libcurl

Windows平台用 conan 使用MinGW编译器编译libcurl,要如下执行

CMD下执行

代码语言:javascript复制
$ conan install libcurl/7.80.0@ ^
	-s compiler=gcc ^
	-s compiler.version=5.2 ^
	-e CC=P:MinGWmingw64bingcc.exe ^
	-e CXX=P:MinGWmingw64bing  .exe ^
	-o libcurl:with_unix_sockets=False ^
	--build missing 

请将CC,CXX的值替换为你实际的MinGW编译器位置

MSYS2/git-bash下执行

代码语言:javascript复制
$ 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!

with_ssl

libcurl默认的ssl库使用的是OpenSSL,但也可以使用其他的ssl库:wolfssl, schannel, darwinssl

通过with_ssl参数可以指定要使用的ssl库,如使用wolfssl

代码语言:javascript复制
$ 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 

0 人点赞