vs2022编译libcurl

以前老版本为了兼容xp系统,还需要提前编译openssl,libssh之类的,现在新项目只需要面向win7,win10,和win11的用户,windows新系统都自带winssl,所以直接编译就行了。

一、编译

咱们编译64位的版本

1、下载libcurl,https://curl.haxx.se/download.html
2.运行buildconf.bat(我这边没啥效果)
3.打开vs2022命令提示符

image.png

4.进入winbuild目录,命令行

cd D:\Projects\VC\源码\curl\curl-7.88.1\winbuild
image.png

6.输入编译命令

#debug
nmake /f Makefile.vc mode=dll VC=17 MACHINE=x64 ENABLE_UNICODE=yes DEBUG=yes 
#release
nmake /f Makefile.vc mode=dll VC=17 MACHINE=x64 ENABLE_UNICODE=yes DEBUG=no RTLIBCFG=static

如果想使用静态编译,将“mode=dll”改为“mode=static”,则不用带上curl.dll。
RTLIBCFG=static是把VC运行库打包进去,否则在其他电脑运行会报错缺少vcruntime140.dll
如果使用其他版本Visual Studio,“VC=”后面的数字应该改为该Visual Studio版本。
如果使用x86,将“MACHINE=x64”改为“MACHINE=x86”。 如果需要debug版,将“DEBUG=no”改为“DEBUG=yes”。ENABLE_UNICODE是使用unicode版本.

7.生成效果(在builds目录)


image.png
image.png

二、加入项目工程

【dll模式】
1、直接把libcurl.lib文件复制到项目目录,代码直接#pragma comment,libcurl.dll文件放入exe同目录就行。


lib
dll

2、代码生成,使用MT


image.png

【static模式】
(1)加入预处理宏
如果之前编译使用的是static静态库版本,那么项目中就需要将 CURL_STATICLIB 添加至工程;


image.png

(2)配置 include 和 lib 路径,将以下 lib 添加至工程:

libcurl_a.lib
Ws2_32.lib
Wldap32.lib
winmm.lib
Crypt32.lib
Normaliz.lib

image.png

(3)static模式使用MD


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容