Windows上编译最新的CURL,含有zlib,openssl

交叉编译CURL库 curl交叉编译过程 阅读详情

转自:http://blog.youkuaiyun.com/neverup_/article/details/21961017


最近,从网上下载了一个curl库,使用时各种报错,都无法启动,于是干脆就直接自己编译了。

    1. 准备工作

      a. 下载zlib

          zlib可以使得HTTP请求支持gzip压缩,其地址如下:

         官网:http://zlib.net/

         下载地址:http://zlib.net/zlib-1.2.8.tar.gz

     b. 下载openssl

          opensll使用与支持SSL,例如HTTPS的请求。

         官网:http://www.openssl.org

          下载地址:http://www.openssl.org/source/openssl-1.0.1f.tar.gz

     c. 下载curl

          官网:http://curl.haxx.se

          下载地址:在http://curl.haxx.se/download.html选择你所想要的版本,我这儿选用最新的7.35.0版本 [http://curl.haxx.se/download/curl-7.35.0.tar.gz]

    d. 下载ActivePerl

          官网:http://www.activestate.com/activeperl/downloads

          请注意根据自己的系统版本【32,64】选择不同的安装包【链接失效时用迅雷可下载】

         下载地址:http://downloads.activestate.com/ActivePerl/releases/5.16.0.1600/ActivePerl-5.16.0.1600-MSWin32-x86-295879.msi

          X64下载地址:http://downloads.activestate.com/ActivePerl/releases/5.16.0.1600/ActivePerl-5.16.0.1600-MSWin32-x64-295879.msi


    编译方法:

      a. 安装activePerl

         直接双击安装,用默认设置就可以了。

      b. 解压所有的源码文件,全部放在一个目录下,比如我是房子c:\curl目录下,目录结构如下:

     

      c. 编译zlib

          从开始菜单,选择Microsoft Visual Studio 2005 > Visual Studio Tools > Visual Studio 2005 Command Prompt,如下图:


     之后会弹出一个CMD窗口,切换到zlib的目录下C:\curl\zlibxxx,然后输入:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. nmake -f win32/Makefile.msc OBJA="inffast.obj"  

  过了一会儿就编译成功。

   2. 编译openssl

     将当前目录切换到C:\curl\openssl-1.0.1f,如何输入下面执行下面的命令:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. ms\32all.bat  
然后就开始了漫长的编译,我这等了15分钟才编译好= =$



  3. 编译curllib

    将当前目录切换到curl的的目录下C:\curl\curl-7.35.0\lib,然后依次输入一下的命令:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. set OPENSSL_PATH=..\..\openssl-1.0.1f  
  2. set ZLIB_PATH=..\..\zlib-1.2.8  
  3. nmake -f Makefile.vc8  CFG=release-dll-zlib-dll  

注意 Makefile.vc6是VC6.0的版本,VC8是VC2005,VC9是VS2008,依次类推吧。

CFG是配置编译结果选项,其具体内容如下:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. Usage: nmake /f makefile.vc6 CFG=<config> <target>  
  2. where <config> is one of:  
  3. release                      - release static library  
  4. release-ssl                  - release static library with ssl  
  5. release-zlib                 - release static library with zlib  
  6. release-ssl-zlib             - release static library with ssl and zlib  
  7. release-ssl-ssh2-zlib        - release static library with ssl, ssh2 and zlib  
  8. release-ssl-dll              - release static library with dynamic ssl  
  9. release-zlib-dll             - release static library with dynamic zlib  
  10. release-ssl-dll-zlib-dll     - release static library with dynamic ssl and dynamic zlib  
  11. release-dll                  - release dynamic library  
  12. release-dll-ssl-dll          - release dynamic library with dynamic ssl  
  13. release-dll-zlib-dll         - release dynamic library with dynamic zlib  
  14. release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib  
  15. debug                        - debug static library  
  16. debug-ssl                    - debug static library with ssl  
  17. debug-zlib                   - debug static library with zlib  
  18. debug-ssl-zlib               - debug static library with ssl and zlib  
  19. debug-ssl-ssh2-zlib          - debug static library with ssl, ssh2 and zlib  
  20. debug-ssl-dll                - debug static library with dynamic ssl  
  21. debug-zlib-dll               - debug static library with dynamic zlib  
  22. debug-ssl-dll-zlib-dll       - debug static library with dynamic ssl and dynamic zlib  
  23. debug-dll                    - debug dynamic library  
  24. debug-dll-ssl-dll            - debug dynamic library with dynamic ssl  
  25. debug-dll-zlib-dll           - debug dynamic library with dynamic zlib1  
  26. debug-dll-ssl-dll-zlib-dll   - debug dynamic library with dynamic ssl and dynamic zlib  
  27. <target> can be left blank in which case all is assumed  
  28. Makefile.vc8(501) : fatal error U1050: please choose a valid configuration "rele  
  29. ase-dll-ssl-dll-zlib-dll "  
  30. Stop.  

大家可以根据自己的需要编译不同的DLL和lib,我就选择编译了两个静态库:

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. nmake -f Makefile.vc8  CFG=release-ssl-zlib  
  2. nmake -f Makefile.vc8  CFG=debug-ssl-zlib  


然后就是开始华丽丽的刷屏等待啦~~~

    过了几分钟之后,就编译好了,将C:\curl\curl-7.35.0\lib\会有debug-ssl-zlib和release-ssl-zlib目录,拷贝到VS的工程目下,然后配置一下就可以使用了。



来源:http://blog.youkuaiyun.com/hujkay/article/details/20362095


win10下用cmake编译zlib并验证 点击generate按钮, 下面对话框会弹出“Generating done (0.1s)”, 此时再点击open project, 弹出用VS2017打开的zlib程序。点击"Browse Source",输入zlib的解压路径, 点击“Browse Build” 输入zlib的build文件夹,如下图,然后按下面的标注,依次点击:configure, generate,open project.此时,可以在build文件夹下,看到一个新的Release文件夹。里面有编译好的动态链接库。 阅读详情

相关推荐

在 Windows 上安装 Zlib 的步骤【完整步骤】

Zlib 是 cuDNN 所需的数据压缩软件库。如何安装呢?本文我们来一步步教会大家!

深耕CV 3033

windows环境编译curl

背景 根据工作项目需求,在Qt程序中需要使用curl库来实现,记录下window环境的编译步骤。整体逻辑是比较清晰的,但有个别坑必须记录,纪念下,也希望帮到其他人!! 具体环境 目前使用的是Qt5.12.6,msvc2017-32位编译器,将编译成该环境下的静态库。考虑业务需求,这里没有使用OpenSSL。其它环境类比即可。 实现步骤 一、下载curl源码 直接使用命令下载,git clone https://github.com/curl/curl.git 。可能提示unable to access的错误

周小哥的博客 3123

Windows平台下curl、zlib和openssl库的集成dll包

libcurl是curl命令行工具背后的库,它提供了一个统一的接口,可以用来处理URL资源。无论是简单的文件传输,还是需要身份验证、加密通信等高级功能的网络请求,libcurl都提供了丰富的API来实现。CURL *curl;if(curl) {// 设置目标URL// 执行单个请求if(res!// 清理return 0;zlib 是一个广泛使用的数据压缩库,由 Jean-loup Gailly 和 Mark Adler 编写,为 C 语言库提供压缩和解压缩功能。

weixin_36304957的博客 1158

windows环境下curl的编译

libcurl是一个跨平台的网络协议库,但官网上未提供编译好的库,需要自己下载源码编译,在此记录一下编译过程。

qq_38311163的博客 1667

USRP B210 运行gnuradio时 FPGA固件版本冲突错误解决方法

事情起源于昨天拿到USRP后开始调试,结果整了一个下午都没解决这个问题。 昨天晚上自己思考了一下,觉得还是版本问题。 首先,uhd_find_devices和uhd_usrp_probe均可以正常运行,没有报错,固件正常加载,序列号也可看到。 teray@teray-X550JK:~$ uhd_find_devices [INFO] [UHD] linux; GNU C++ version 7.5...

斯哈研究所 4243

STC51单片机串口多字节数据接收的优化策略

本文深入探讨了STC51单片机串口多字节数据接收的优化策略。针对数据丢包、粘包等常见痛点,核心思路是采用“缓冲队列+定时器超时”模式,将实时处理转变为“先收纳,后处理”。文章详细讲解了硬件初始化、中断服务程序优化(快速入队与激活超时裁判)以及主循环的非阻塞设计,并进阶介绍了环形缓冲区实现与错误处理,旨在构建稳定可靠的串口通信系统。

weixin_29264201的博客 373

在Windows上编译最新的CURL,含有zlib,openssl

最近,从网上下载了一个curl库,使用时各种报错,都无法启动,于是干脆就直接自己编译了。 1. 准备工作 a. 下载zlib zlib可以使得HTTP请求支持gzip压缩,其地址如下: 官网:http://zlib.net/ 下载地址:http://zlib.net/zlib-1.2.8.tar.gz ...

andy76123的博客 194

山景BP10_128DBG开发板通过蓝牙连接手机放歌实验回顾

最近在学习上海山景公司的BP10_128DBG的开发板,因为网上关于BP10开发板的帖子也比较少,在学习的时候也没有太多的参考资料,基本上都是官方的历程。蓝牙放歌这个demo对我来说也比较复杂,特写下此博客进行记录、总结,大家有需要的可以参考。

weixin_56646002的博客 2019

在Windows上VS2005编译CURL,含有zlib,openssl

最近,从网上下载了一个curl库,使用时各种报错,都无法启动,于是干脆就直接自己编译了。 1. 准备工作 a. 下载zlib zlib可以使得HTTP请求支持gzip压缩,其地址如下: 官网:http://zlib.net/ 下载地址:http://zlib.net/zlib-1.2.11.tar.gz b. 下载openssl opensll使用与支持SSL,例如HTTPS的请求。 ...

竹子的专栏 541

QEMU pcie config空间访问机制

而pci_host_conf/data_le_ops的定义是在hw/pci/pci-host.c里,对于0xCF8端口的处理,因为是地址选通,所以只需要在write的时候记录、read的时候返回记录的值即可。而pci_host_config_write/read_common接口,在前256Bconfig空间的模拟中,也同样是会调用这个接口,所以后续的处理都是一样的。这是真实的硬件设计,而对于QEMU+KVM的虚机场景,显然是要基于硬件实现和虚拟化的需求设计虚机访问config空间的完整流程。

leiyanjie8995的博客 1949

TDISP(TEE Device Interface Security Protocol)软件操作流程

/ 1. SPDM会话相关定义(🔶1-37、🔶1-187)// SPDM会话ID// AES-256-GCM加密密钥(TDISP要求)// 初始向量// 会话是否激活// 2. IDE流配置(🔶1-52、🔶1-625)// IDE流ID// 4个子流的AES密钥(覆盖所有子流类型)// 密钥是否已配置// 3. TDI状态与配置(🔶1-207、🔶1-210)TDI_CONFIG_UNLOCKED = 0, // 初始配置态。

inquisiter 1429

【Windows】编译libcurl,添加openssl和zlib支持

Windows系统环境下编译libcurl,添加openssl和zlib支持。

weixin_41701847的博客 3121

RK3568笔记十七:LVGL v8.2移植

若该文为原创文章,转载请注明原文出处。本文介绍嵌入式图形库移植到Linux开发板ATK-RK3568上的步骤。

4229

Windows编译curl,添加openssl支持

点击第3步,在新页面点击Finish。参考参数设置我这里将BUILD_CURL_EXE,BUID_EXAMPLES,BUILD_LIBCURL_DOCS,BUILD_MISC_DOCS。生成EXE,案例,文档几个参数取消了,勾选了静态库和动态库生成。CURL_USE_OPENSSL的值一定要选中,不然curl不支持https协议。添加OpenSSL路径参数:点击界面中的Add Entry,在弹出的对话框中输入。1.下载完成解压并新建文件夹 build_for_cmake。大家有看不懂的可以私信。

Su_liang的博客 1488

「企业级智能体」LangChain4j Multi-Agent:角色分离 + 协同编排实战

在大部分 Java 项目里,“接入大模型Controller 收到一个 question调用大模型接口拿到 answer把结果原样丢回前端这种玩法可以叫「高配搜索框模式一个 Agent 要写 Prompt、要查数据库、还要改写文案,太忙了不同角色(创作者、编辑、审稿人)的职责混在一起,难以维护想复用其中一段能力(比如只要润色)也不方便把大任务拆成多个 “角色清晰的 Agent”,再编排它们像流水线一样协同完成任务。CreativeWriter:负责创作故事。

OFFTime_we的博客 1545

【从零开始学习 SystemVerilog】1.1、SystemVerilog 概述

【从零开始学习 SystemVerilog】1.1、SystemVerilog 概述

努力,加油每一天鸭~ 1036

ActivePerl+zlib+OpenSSL+libssh2+curl编译(windows)

WINDOWS平台上使用CURL库发送网络消息,必须支持https,那么CURL库也就必须带OPENSSL,我电脑是WIN7系统32位,故以下的各种编译均是在该环境下实测通过 如果需要支持汇编,还需要提前安装nasm,下载地址为:http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D 开始编之前,需要准备几个工具,打开vs的命令提示行,分别c...

lanhunyoumeng的专栏 552

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【windows平台编译libcurl (zlib+openssl)】

libcurl库 https://curl.se/download.html 根据需求下载版本 (为了项目的兼容性,作者使用版本7.58.0)。3.1zlib编译:zlib解压后进入zlib-1.2.13\contrib\vstudio\vc14路径,启动zlibvc.sln。opensslk库 https://www.openssl.org/source/ 根据需求下载版本(作者下载版本1.1.1);zlib库 http://www.zlib.net/ 最新版本就可以(作者下载版本2.13.0);

aichen11的博客 1954

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

windows编译openssl+curl静态库

转载[有截图的一步步照做的编译老版本openssl1.0.2p,先看下](https://cloud.tencent.com/developer/article/1343632) [较新的编译zlib/openssl/curl的方法](https://blog.youkuaiyun.com/lixiang987654321/article/details/81154613),这个blog里面步骤很清晰,基本照着做就行了,注意 在libcurl属性页,Librarian / General /additional de

2399

在windows 上编译 OpenSSL, zlib 和 cURL (转载)

详细记录在windows 上编译 OpenSSL, zlib 和 cURL的全过程。

Kelvin ZENG 743
上一篇: 编译libcurl
下一篇: QT https post请求 ssl
「已注销」
博客等级 码龄14年 116粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值