最近需要封装一个支持x86的SDK,之前已经实现了编译x64 libcurl支持https,但是用同样的方法,编译出来的libcurl库还是不支持https,折腾了两天,尝试了网上所有的编译libcurl+openssl的方法,无果,直到遇到这篇文章。过程中遇到了点问题项目中使用静态库报错(LNK2001 无法解析的外部符号 __imp__IdnToAscii@20 这个问题还未搞清楚,路过的大神帮忙解答一下(已解决。见下文)),所以最后用的是动态库,总结一下。

本文记录的编译方式并不需要编译openssl,本人猜测是因为使用的curl源码中已经自带了。(希望有人可以帮忙给个正确答案)

1.下载最新版的curl源码并解压:https://curl.haxx.se/download.html。

2.打开VS2017 x86本机工具命令提示。

3.进入winbuild文件夹内,输入 nmake /f Makefile.vc mode=dll VC=15 MACHINE=x86 DEBUG=no 进行编译。

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

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

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

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

4.在winbuild同目录的builds文件夹内,可以找到我们要使用的动态库及头文件等。

5.编译完成的dll获取方式:https://download.csdn.net/download/weixin_39766005/13105122

6.无法解析的外部符号 __imp__IdnToAscii@20:解决方法:在 项目属性 - 链接器 - 输入 - 附加依赖项 中加入:Normaliz.lib 即可。

编译x86 release版本libcurl,支持https相关推荐

  1. 让VC编译的Release版本程序在其他机器上顺利运行

    让VC编译的Release版本程序在其他机器上顺利运行 Posted on 2011-07-29 15:06 单鱼游弋 阅读(939) 评论(0) 编辑 收藏 链接的时候分静态链接和动态链接两种. 静 ...

  2. Android Studio默认编译出Release版本apk

    在我们打包是进行Make Project,默认编译出来的是Debug包. 在Android Studio的左下角,有一个Build Variants,如图下: 这样Make Project编出来的所有 ...

  3. windows下编译cef最新版本并支持mp3/mp4

    预读 不懂就请参考官方地址 一般要2步,下载 和 编译 创建文件结构 ~/code/automate/ <-- 全部脚本放到这里automate-git.py <-- CEF build ...

  4. 编译成release版本与debug版本的程序有何执行上的区别?

    原文地址::http://blog.csdn.net/lingxiu0613/article/details/7924755 相关网帖 1.Debug 和 Release 编译方式的本质区别----h ...

  5. uwp应用在debug模式下运行正常,编译为release版本的时候抛出异常

    原因是在代码中使用了dynamic关键字,导致release时.net native优化了代码造成元数据丢失 所以在代码中要尽量不用dynamic. 转载于:https://www.cnblogs.c ...

  6. cmake 编译Release版本

    感谢作者: https://blog.csdn.net/sinat_31086489/article/details/84030871 # cmake 编译windows release 版本 在wi ...

  7. bug系列(二)release版本DLL报错,debug版本正常

    一.链接错误 编译成release版本时,提示 Linking... nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external sym ...

  8. caffe2 01 caffe2 win10 vs2017编译(默认CPU版本)

    01 基本环境 win10 vs2017 git python3.5.3 cmake-gui(3.7.2) caffe2 github地址:https://github.com/caffe2/caff ...

  9. iOS10 适配 ATS(app支持https通过App Store审核) 韩俊强的博客

    一. HTTPS 其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的 ...

最新文章

  1. HDU 1501 Zipper
  2. RabbitMQ消息应答------ack机制
  3. ubuntu之ufw防火墙
  4. 判断两个时间段是否重叠的算法
  5. 小红书公司注册老红书商标上热搜 网友:过两年变老了改名吗?
  6. python 迭代器 生成器
  7. 服务器虚拟化十大因素
  8. 11-标志寄存器+adc/sbb+cmp+条件转移指令
  9. 基于springboot的猫头鹰物业管理系统
  10. 苹果手机屏幕突然放大恢复方法【图文教程】
  11. View和ViewGroup的概念
  12. 计算机组成原理——指令系统
  13. 【新手】网络拓扑图要这样画
  14. STM32驱动_cc2420
  15. matlab导入word数据,matlab导入word
  16. 名帖107 俞和 小楷临《乐毅论》
  17. x265-1.8版本-encoder/dpb.cpp注释
  18. 分解质因数(java)
  19. 有什么博客营销技巧?
  20. 公共WiFi到底该不该连?黑客教父龚蔚这么说

热门文章

  1. CSS入门(CSS常用属性----字体、对齐方式、display属性、浮动)
  2. Cent OS借助YUM快速安装MySQL
  3. 自己总结的一些spring面试题
  4. 【MobaXterm教程】【公网】利用ipv6远程访问服务器
  5. Spring Cloud Security OAuth2结合网关
  6. win10无法连接校园网问题
  7. LDA与QDA分类数据的简单应用(python)
  8. (五)Android资源访问
  9. matplotlib·2(绘制饼图,直方图,极坐标图,复杂子区域分割)
  10. rufus中gpt和mrb磁盘_系统重装,硬盘分区MBR和GPT选哪个好?看完才知原来有这讲究!...