vs2017编译curl 静态库 支持https

接这篇  curl 静态库编译 非https - 、有妖气 - 博客园 (cnblogs.com)

 

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

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

首先去下载 curl-8.0.1

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

 

 

请注意,如果要编译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

 

posted @ 2023-03-24 16:42  、有妖气  阅读(337)  评论(0编辑  收藏  举报