💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
### libcurl编译-windows-x64 文章时间:2020-11-16 网上找了一堆资料,五花八门,几个文章弄下来才编译过。这里做一个记录,也顺带让想编译curl库的朋友,做个借鉴。 首先编译curl需要 libcurl,openssl,zlib 我放的目录是 cpps/deps下。 ![](https://img.kancloud.cn/34/d9/34d93218a1fd9e5e99324874f2b5caa4_394x221.png) 自己可以调整自己所需要的目录。 libcurl下载地址:https://curl.se/download.html openssl下载地址:https://www.openssl.org/source/ zlib下载地址:http://www.zlib.net/ 需要安装的软件都知道 perl,python, NASM 其他什么我就不复数,自行百度吧。 ![](https://img.kancloud.cn/a6/0b/a60b37f2c97639d98b1fb16f0e12a52d_238x124.png) 我使用的版本号都是目前最新的。 \ \ 首先打开VS命令工具 我这里只编译64位。所以选择X64 ![](https://img.kancloud.cn/6e/c3/6ec3a2974da468f3f84463f901699032_278x394.png) 第一步编译 zlib - 进入到zlib 目录 \ 输入 X64 ``` nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." OBJA="inffasx64.obj gvmat64.obj inffas8664.obj" ``` X86 ``` nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="inffas32.obj match686.obj" ``` \ ![](https://img.kancloud.cn/28/79/287972649004038672d0497027edff12_993x519.png) 编译好后,进入下一步。 \ \ 第二步 编译openssl - 同样进入 openssl目录 ![](https://img.kancloud.cn/a4/be/a4be02393d03cc02be78e0a1d5b77154_993x519.png) 输入 X64 ``` perl Configure VC-WIN64A --prefix=D:\work\code\apiserver\cpps\deps\openssl-1.1.1h\build no-asm nmake nmake install ``` X86 ``` perl Configure VC-WIN32 --prefix=D:\work\code\apiserver\cpps\deps\openssl-1.1.1h\build no-asm nmake nmake install ``` 最后可能会有错误,提示找不到什么文件,无所谓忽视他。 确定文件夹里面多了一个 build文件夹就可以了 (--prefix= 地址\build)我用的地址+build文件夹 所以是build 换其他文件夹就是其他文件夹名 编译好,下一步。 \ \ 第三步 编译libcurl - 编译好 zlib 与 openssl 后,这里需要把头文件和lib文件分别拷贝到相应目录 openssl目录下:build的include与lib 拷贝到 deps/deps目录里 (需要手动建立) ![](https://img.kancloud.cn/85/52/85520104b67924a1a9f9db53f1757fc3_500x208.png) zlib目录下:zconf.h , zlib.h , zutil.h 拷贝到 deps/deps/include里面 zlib.lib zdll.lib 拷贝到 deps/deps/lib 里 ![](https://img.kancloud.cn/58/52/585229b0b174a330a24fbc3a4a8085b6_599x226.png) \ 开始编译 - 同样进入 curl目录 在进入 winbuild ![](https://img.kancloud.cn/9c/9e/9c9edfc5afb04c1682ca7e94a4142131_993x519.png) 输入 X64 ``` cd winbuild nmake /f Makefile.vc mode=dll MACHINE=x64 VC=15 ENABLE_IPV6=yes WITH_SSL=dll WITH_ZLIB=dll DEBUG=no ``` X86 ``` cd winbuild nmake /f Makefile.vc mode=dll VC=15 WITH_SSL=dll ENABLE_IPV6=yes WITH_ZLIB=dll DEBUG=no ``` 编译完成后 ![](https://img.kancloud.cn/be/ed/beed0474afd27bdfd90eab6f26447151_630x243.png) 有个builds文件夹 进入 libcurl-vc15-x64-release-dll-ssl-dll-zlib-dll-ipv6-sspi 分别把include 与 lib拷贝到 deps/deps里面 \ **使用libcurl记得添加宏定义:BUILDING\_LIBCURL;** (curl我已经添加好了) \ 至此编译结束。 就可以开始编译 demo/curl 啦。 尾语: 我觉得编译就是干货,网上的文章乱七八糟的。 最后说下 dll 部分 openssl 和 libcurl 都生成了 bin目录 自己拷贝下dll就好了。zlib在根目录有个zlib1.dll ![](https://img.kancloud.cn/c7/2a/c72a96a69b3ae0ed7c2850c9a5592508_190x109.png) ****