Win7 下使用 VS2015 交叉编译最新 libcurl 7.51.0(包含openssl-1.0.2j,zlib-1.2.8)
来源:互联网 发布:mac dock图标大小 编辑:程序博客网 时间:2024/05/16 14:04
本文参考了以下网友的辛勤劳动,在此我向你们表示感谢:
http://blog.csdn.net/hujkay/article/details/18986153
编译前的准备
下载所需工具源码:
ActivePerl
http://www.activestate.com/activeperl/downloads
或者StrawbarryPerl,我没有尝试,请各位自行尝试,安装路径默认即可。zlib
http://zlib.net/zlib-1.2.8.tar.gz
zlib可以使得HTTP请求支持gzip压缩。OpenSSL
https://www.openssl.org/source/
OpenSSL使用与支持SSL,例如HTTPS的请求。CURL
https://curl.haxx.se/download.html
这货居然在写这篇教程的时候更新了。。。
3天前还是7.50.3,今天就更新到了7.51.0,那我就一同用最新的来编译得了
(其实我的7.50.3都已经编译好了的)。- 安装ActivePerl,然后解压zlib、OpenSSL、CURL到同一个目录下,目录的结构最好和我的一样,zlib、OpenSSL文件夹的文件名最好也和我的一样。
VS编译环境准备【编译32位、64位有区别】
以下所有操作,如果没有特别说明,都是在【VS2015开发人员命令提示】中进行的;
具体位置一般是【开始->所有程序->Visual Studio 2015-> Visual Studio Tools】下;
1. 【编译32位环境】 命令如下: cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin vcvars32.bat
2. 【编译64位环境】 命令如下: cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64 vcvars64.bat
编译zlib-1.2.8
命令行进入zlib目录,然后执行以下命令,很快就好了。
nmake -f win32/Makefile.msc OBJA="inffast.obj"
编译OpenSSL-1.0.2j
我个人建议按照本教程交叉编译之前,先自己练习一下单独编译OpenSSL,可以按照我的这个教程来:
http://blog.csdn.net/YAOJINGKAO/article/details/53041165
但是在这里,我不建议按照单独编译这个方法来,为什么,这是有原因的
因为编译好之后还要有个移动编译好的文件的过程,不然在后面编译libcurl的时候会有提示找不到xxx.lib,为了省去这个麻烦,一步到位,我还是建议各位用libcurl自带的Openssl-built.bat来编译Openssl。
直接在开发人员命令提示中进入【curl-7.51.0\projects】目录;
然后设置openssl目录和zlib
set OPENSSL_PATH=..\..\opensslset ZLIB_PATH=..\..\zlib
接下来我们就是要利用openssl-build.bat这个文件来帮我们编译好openssl和文件的移动工作。
输入以下命令可以查看具体的参数:
build-openssl.bat help
这里,我们以编译vc14、32位、debug版静态链接库为例:
输入以下命令就行了:
build-openssl.bat vc14 x86 debug "c:\curl\openssl"
出现如下图的结果就表示编译成功了。一切都好就是编译时间有点点长,耐心就好。
如果有练习单独编译OpenSSL的朋友就会发现不同了,大部分输出都是一样的,只是在这里多了最下面四条移动的信息,其实你可以打开build-openssl.bat这个文件,它在编译之后帮我们把编译好的文件移动到了一个合理的位置,方便以后的libcurl编译。
编译libcurl-7.51.0
这个最简单了,直接在VS里面编译就行了。
前面的工作都完成之后,什么都不要移动,直接在资源管理器中进入【curl\curl-7.51.0\projects】目录;
注意:编译7.51.0之前版本的libcurl需要额外双击运行generate.bat,让它生成VS工程文件,最新的7.51.0版本则不需要运行,文件夹内也没有了这个文件。直接下一步就行了
好了之后,进入【C:\curl\curl-7.51.0\projects\Windows】文件夹就能看到所有的能够支持编译的vc版本
这里我还是以vc14(VS2015为例),进入VC14文件夹,打开curl-all.sln文件:
选择编译的版本:LIB Debug - LIB OpenSSL
然后菜单栏->生成->生成解决方案
(BTW:这里其实只要生成libcurl工程就行了。curl工程只是一个demo,无需生成。)
生成好了就可以在【curl\curl-7.51.0\build\Win32\VC14】目录下找到编译好的静态库了。
在这里,如果你有心,在【libcurl工程属性->C/C++->附加包含目录】下发现libcurl对openssl引用的目录是openssl文件夹下的inc32文件夹,之前为什么要强调openssl目录要按照我的文件名来设置,用意是在这里的。
至此,你就可以重复编译openssl到最后生成libcurl的所有步骤,生成所有你所需要的链接库了。
- Win7 下使用 VS2015 交叉编译最新 libcurl 7.51.0(包含openssl-1.0.2j,zlib-1.2.8)
- Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib
- 编译 libcurl 7.45.0 + zlib 1.2.8 + openssl 1.0.2d
- win10 vs2015 openssl-1.0.2j编译
- 编译libcurl+zlib+openssl
- vs2010 libcurl 7.21.3 zlib 1.2.5 openssl 1.0.0c 编译全过程
- vs2010 libcurl 7.21.3 zlib 1.2.5 openssl 1.0.0c 编译全过程
- libcurl+zlib+openssl编译安装
- vs2015编译libcurl+ssl+zlib(MT静态版)
- 交叉编译zlib-1.2.8
- Windows下使用VS2015编译openssl库
- 发一个新版的libcurl 7.37 + zlib 1.2.8 + openssl 1.0.1h
- 交叉编译zlib和openssl for arm
- libcurl,sqllite,log4cpp,openssl交叉编译
- libcurl 支持 openssl 交叉编译 mips rt5350
- MinGW与编译libcurl(附加openssl,zlib,libssh)
- zlib-1.2.8 mips 平台交叉编译
- 使用mingw编译支持openssl 的 libcurl(windows下)
- PDF文件压缩
- 单例模式详解
- 最小表示
- 百度搜索URL参数你知道多少
- html float 浮动
- Win7 下使用 VS2015 交叉编译最新 libcurl 7.51.0(包含openssl-1.0.2j,zlib-1.2.8)
- uva 331 Mapping the Swaps
- 树状数组
- K-means算法对地图上点进行聚类(未修订篇)
- 多层循环的跳出(return goto break continue 的用法与区别)
- spring4之搭建restful风格的web服务
- 树链剖分
- 用IBExpert管理firebird
- 机器学习(四):BP神经网络_手写数字识别_Python