vs2017编译curl 静态库 支持https

首页 / C++ / 正文

获取中...

喜报喜报,curl 官方终于开窍了,编译带https的 curl 终于不需要去先弄什么openssl之类的东西了,直接一个包带走,并且编译步骤非常简单,笔者用的版本是curl-8.0.1 其他版本的可能还不行,但这个版本或者以后的应该都可以了

这应该是目前为止最简单的编译x64跟x32的静态库了,我看了其他博客都过于复杂

首先去下载 curl-8.0.1

然后打开vs2017 控制台编译工具
lh07cyir.png

请注意,如果要编译x32的。请用红色框里的,要编译x64的 ,请用写明x64的工具 (比如红框下方的x64本机工具),千万不要搞错了

打开后,cd 到 curl 的目录 下的winbuild 目录

然后执行以下代码中的其中一个

nmake /f Makefile.vc mode=static VC=15 MACHINE=x86 DEBUG=yes
nmake /f Makefile.vc mode=static VC=15 MACHINE=x86 DEBUG=no RTLIBCFG=static

 

nmake /f Makefile.vc mode=static VC=15 MACHINE=x64 DEBUG=no RTLIBCFG=static
nmake /f Makefile.vc mode=static VC=15 MACHINE=x64 DEBUG=yes

(1)mode=dll(static:生成静态库 dll:生成动态库)

(2)VC是vs的版本(VS2017对应15,VS2015对应14)

(3)根据项目需要选择平台x86

(4)DEBUG=no(生成release版的库)DEBUG=yes(生成debug版的库)

RTLIBCFG=static 有这一句就代表编译的是MT,不然就是MD

但笔者测试,加这句后对debug跟已经release 版本的都可以用,反正看个人需求,笔者个人用已经足够了

编译完成后,在curl 目录下的builds 里 自己找下lib 文件

x64跟x32的过程是一样的

如果使用静态库出现 无法解析的外部符号 __imp__IdnToAscii@20,该符号在函数 _Curl_win32_idn_to_ascii 中被引用

需要添加依赖项:Normaliz.lib

C++
打赏
评论区
头像