vs2013 编译 curl库

写下此片博客记录我编译curl http库的艰辛历程

步骤一、下载所需的库 (截止到2016.5.20)以及工具
—–zlib—–
http://www.zlib.net/
版本:1.2.8

—-openssl—
https://www.openssl.org/source/
版本:1.0.2h

—-libssh2—–
https://www.libssh2.org/
版本:2.1.7

—-activeperl—-
http://www.activestate.com/activeperl/downloads
版本:5.22.1

—-curl—–
https://curl.haxx.se/download.html
版本:7.49

步骤二、开始编译
1、安装activeperl
一步步默认安装就可以了

2、zlib貌似不用编译,解压就有链接库

3、编译openssl
a.将openssl的源码解压
b.用vs2013的命令行工具进入到源码目录
vs2013开发工具
提示:可以自己先阅读里面的、INSTALL.W32文件、里面有详细的编译方法、过程
c.编译方式有两种、一种生成汇编文件、另一种不生成、我选用第二种
d.在命令行中输入(prefix为编译结果的文件夹)

1.perl Configure VC-WIN32 no-asm –prefix=D:/openssl
2.ms\do_ms

e.如果上述没有错即可继续下面步骤
f.在执行下面的步骤即可完成

1.nmake -f ms\ntdll.mak
2.nmake -f ms\ntdll.mak install

g.注意上面的命令行千万不能输错,一点都不能有错
否则会出现strings.h找不到等错误

4、编译libssl2
a.用vs2013打开/win32/libssh2.dsw 出错不用管
b.将zlib和openssl的所有含有.dll的文件的目录添加到系统环境的path
这里写图片描述
c.打开vs2013的libssl2的项目属性
添加在vc++目录->包含目录中添加zlib和openssl的include;在库目录中添加它们的lib目录
(注意在编译的时候可能无法找到zlib.lib,只需将zdll.lib复制一份将并将其重命名为zlib.dll就可以了)
点击生成解决方案.即可在libssl2/win32/debug_dll目录找到libssh2.dll和libssh2.lib文件

5.编译curl
a.添加libssl2的dll到Path系统环境变量
b.用vs打开
curl-7.49.0\projects\Windows\VC12\curl-all.sln
c.打开项目属性
添加在vc++目录->包含目录中添加zlib、openssl、libssl2的include;在库目录中添加它们的lib目录
(注意可能会提示找不到****d.lib文件、是因为在编译libssl2的时候没有生成release版本、将缺少的.lib文件名去掉最后一个d就可以了)
d.生成解决方案即可
生成的文件都在curl-7.49.0\build的文件夹下面

6.更新:使用vs编译会不支持访问https请求,所以添加用命令行编译
a.同样用vs命令行工具cd到curl\7.49.0\winbuild目录(你可以先 看看里面的BUILD.WINDOWS.txt文件,里面有详细的步骤)
b.在curl源码的同级目录下新建一个deps文件夹,再在这个文件夹里面新建bin、include、lib三个文件夹。将zlib、openssl、libssh2的所有的.dll文件复制一份到bin目录,所有的include下的文件复制到Include、所有的.lib复制到lib问价夹下面(注意:openssl\include\openssl的文件,需要将openssl文件夹复制到deps\include下)
c.然后运行

nmake /f Makefile.vc mode=dll VC=12 WITH_SSL=dll WITH_ZLIB=dll WITH_SHH2=dll

d.如需生成debug版本只需在后面添加

DEBUG=yes

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值