首页 > Web开发 > 详细

开发 | 编译 libcurl 7.45.0 + zlib 1.2.8 + openssl 1.0.2d

时间:2015-11-19 07:00:47      阅读:661      评论:0      收藏:0      [点我收藏+]

前言:我发誓,Windows下C++的依赖库是安装起来最啰嗦最繁琐最麻烦的,比Linux下那个make install变态多了,为了防止后人在这上面无限浪费时间和生命,我打算把我在这上面浪费的一天一夜再回顾一下。

 

需要准备的工具:CMake for Windows 一份;zlib、libcurl、openssl 源代码各一份。

我使用的版本:CMake 3.4.0、zlib 1.2.8、libcurl 7.45.0、openssl 1.0.2d、VC2015,我编译的全是静态库。

 

首先,编译zlib,打开CMake,把zlib目录下的CMakeList.txt拖进去,然后生成解决方案。注意,这一步千万不要用 contrib\vstudio 下的 sln,里面的坑无限多,打开vs,编译zlib静态库。

然后,编译OpenSSL,需要装一个perl,32位的,接着切换进OpenSSL源码的目录,这里我也遇到一个坑,高版本的VS的MASM有问题,所以要禁用掉ASM代码才能编译通过:

  perl Configure VC-WIN32 no-asm --prefix:你想把库装到哪个目录

  ms\do_nasm

  nmake -f ms\nt.mak -a

  nmake -f ms\nt.mak install(这里一定要注意install,不然OpenSSL那个头文件内容是一堆垃圾)

 

接着,开始编译libcurl:

  CMake 打开 libcurl 的 CMakeList.txt。

  Add Entry: 

    ZLIB_INCLUDE_DIR D:/developer/include/zlib
    ZLIB_LIBRARIES D:/developer/library/zlib
    OPENSSL_INCLUDE_DIR D:/developer/include
    OPENSSL_LIBRARIES D:/developer/library/openssl

  Configure,这里还有一个CMake的大坑。第一次Configure后,把Advanced勾上。SSL_EAY_RELEASE设置为D:/developer/library/openssl/ssleay32.lib;LIB_EAY_RELEASE设置为D:/developer/library/openssl/libeay32.lib。还有设置ZLIB里面的内容,注意,如果不勾选Advanced,你设置的ZLIB选项是无效的(我去他奶奶的)。

  到这里就结束了,生成curl解决方案后,就开vs狂编译吧。

开发 | 编译 libcurl 7.45.0 + zlib 1.2.8 + openssl 1.0.2d

原文:http://www.cnblogs.com/cnmlgb/p/4976458.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!