vc2015 编译libcurl带openssl
1.先编译zlib下载地址 http://zlib.net/
我这边vc2015编译需要配置环境变量,不知道是装了wdk的原因还是多个vc版本的原因
设置环境变量lib和include路径
INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt\sys
LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\ucrt\x64
然后用vc2015的控制台命令,进入到代码路径
nmake -f win32\Makefile.msc clean
nmake -f win32\Makefile.msc
编译完成后,修改lib路径为x86路径,注销系统,重新执行vc2015的控制台(x86)版本,即可生成对应的dll和lib
2.编译openssl http://www.cnblogs.com/ultracpp/p/3463110.html
3.编译libcurl
下载地址 https://curl.haxx.se/download.html
编译主要参考自带的文档 winbuild\BUILD.WINDOWS.txt
同样修改 lib路径(同上)
同样使用vc命令行,cd到curl-*\winbuild路径下配置deps目录


切换x86的时候直接用x86的lib替换掉就可以了
执行命令如:
nmake /f Makefile.vc mode=dll VC=14 WITH_DEVEL="e:\curl-7.50.0\deps" WITH_SSL=dll WITH_ZLIB=dll DEBUG=no MACHINE=x64
nmake /f Makefile.vc mode=dll VC=14 WITH_DEVEL="e:\curl-7.50.0\deps" WITH_SSL=dll WITH_ZLIB=dll DEBUG=no MACHINE=x86
nmake /f Makefile.vc mode=dll VC=14 WITH_DEVEL="e:\curl-7.50.3\deps" ENABLE_IDN=no WITH_SSL=dll WITH_ZLIB=dll DEBUG=no MACHINE=x64
nmake /f Makefile.vc mode=dll VC=14 WITH_DEVEL="e:\curl-7.50.3\deps" ENABLE_IDN=no WITH_SSL=dll WITH_ZLIB=dll DEBUG=no MACHINE=x86
Enable use of Windows IDN APIs, defaults to yes Requires Windows Vista or later
如果编译失败,提示连接错误之类的,可以尝试直接清空builds目录下面的所有文件,再来一次
原因看config-win32.h里面的
# if defined(_USING_V110_SDK71_)
# define VS2012_DEF_TARGET 0x0501
# else
# define VS2012_DEF_TARGET 0x0600
# endif
编译完成后会得到builds\libcurl-vc14-x86-release-dll-ssl-dll-zlib-dll-ipv6-sspi目录,里面的东西就是我们想要的了
不过,得到的libcurl好像并没有导入zlib,尽管上面的命令是动态导入的dll

vc2015 编译libcurl带openssl的更多相关文章
- Windows 编译libcurl(openssl+zlib)(使用VC编译)
libcurl主要功能就是用不同的协议连接和沟通不同的服务器,如果使用HTTPS,需要OpenSSL libcurl https://curl.haxx.se/download.html 下载Sour ...
- windows下rabbitmq-c编译(带openssl、无需MinGW)
因为项目原因,需要使用到rabbitmq的c客户端库.首先,参见上一篇windows下openssl编译,如果已经使用cmake编译过了,则先delete cache(File-Delete Cach ...
- libcurl 支持 openssl 交叉编译 mips rt5350
By admin | 11月18日 0 Comment Advertisement 历经半个月终于把libcurl库编译出来,参考网上很多博客,最终把自己要的库编译出来. 首先说明一下,我要这个库的目 ...
- windows平台源码编译最新版openssl
本文有问题,待改中................. 1.从openssl官网下载最新版openssl https://www.openssl.org/source/ The latest ...
- 如何编译libcurl
1. Android •1.1配置 •1.2 Make •1.3的参数配置 2.iOS 3.windows 4.关于头文件 注释 本文档介绍了如何为Android,iOS和Windows编译libcu ...
- 编译预处理 -- 带参数的宏定义--【sky原创】
原文:编译预处理 -- 带参数的宏定义--[sky原创] 如有转载请注明出处 编译预处理 -- 带参数的宏定义 前面为输出文件,后面为输入文件 gcc -E -o test.i test.c ...
- 编译并导入OpenSSL
编译并导入OpenSSL 1. 首先,需要运行脚本生成OpenSSL库,参考 https://github.com/x2on/OpenSSL-for-iPhone 示例 2. 运行脚本生成静态库 下一 ...
- 编译与安装 OpenSSL
编译与安装 OpenSSL prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库.linux版的OpenSSL下载地址为:https:/ ...
- QT如何编译出带调试信息的qtwebkit库
因为在编译QT的时候默认是不编译成带调试信息的qtwebkit库的,不论如何设置参数都是没有用的.后面在一博客中查找到相关信息 1.编译带debug 信息的webkit 库 注释或者删除qt-ev ...
随机推荐
- Debian8 部署 laravel 5.3 (php7.0 + nginx)
web根目录:/var/www/html 更换 apt-get 源cd /etc/apt/sources.listdeb http://ftp.debian.org/debian jessie mai ...
- IE6、火狐不支持a:visited
今天做个样式,想让超链接点击后变成灰色,可发现IE里是没问题,可火狐就全灰色的.我测试了好几遍,发现不是顺序的问题.当然可以在火狐里地址栏里输入about:config.可总不能让用户去那里改吧.以下 ...
- 对mysql进行分表
1. 有某个自段进行md5散列,然后生成ord SCII码 $num = ord(md5($user)) //是一个数字 参考 $num/3 ,$num/4;如果我们不是严格意义上的分表,可以参考分布 ...
- ubuntu -server 忘记root 密码方法
允许 su 到 root 非常简单,只需要重新设置下密码即可.下面是设置的方法: 1 me@ubuntu:~$ sudo passwd 2 密码:<--- 输入安装时那个用户的密码3 输入新的 ...
- 从现在开始使用nodejs开发的几点答疑
1.为什么要开始用nodejs, 而不是php 理由有三点: 因为我是前端程序员出身,nodejs都是用javascript写的,这样相当于前端和后端都使用javascript,开发更加有效率.当然很 ...
- 继网易博客后搜狐博客也增加了nofollow标签
继网易博客后搜狐博客也增加了nofollow标签 今天在搜狐博客发表了篇文章,在末端添加上我的版权,结果回头查看是发现,这个锚文本被加上了nofollow标签,也就是说这样的外链已经没有传递权重的作用 ...
- Activiti 使用自己的身份认证服务
Activiti 中内置了用户和组管理的服务,由identityService 提供调用接口,默认在spring配置中如下: <bean id="identityService&quo ...
- 中国IC业“芯”结:IC小国真能赶追韩美日么?
集成电路是关系到国民经济和社会发展的战略性.基础性和先导性产业,是培育发展战略性新兴产业.推动信息化和工业化深度融合的核心与基础.因此,我 国历来就十分重视集成电路产业的培育和发展,在这方面投入了大量 ...
- BZOJ2750: [HAOI2012]Road
2750: [HAOI2012]Road Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 261 Solved: 113[Submit][Status ...
- 在OCX初始化时获取其在网页中的DOM对象
OCX初始化的时候会调用SetClientSite,会传入IOleClientSite对象. CComQIPtr<IOleControlSite, &IID_IOleControlSit ...