Chinaunix首页 | 论坛 | 博客
  • 博客访问: 561554
  • 博文数量: 127
  • 博客积分: 1169
  • 博客等级: 少尉
  • 技术积分: 1298
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-16 14:29
个人简介

空白

文章分类

全部博文(127)

分类: C/C++

2017-05-31 17:10:33

一、编译libcurl静态库
1、下载curl-7.54.0.zip并解压
https://curl.haxx.se/download.html下载curl-7.54.0.zip
2.  下载libssh2、openssl、zlib
到下载openssl-1.0.2k-vc11-x86.zip、libssh2-1.8.0-vc11-x86.zip、zlib-1.2.7.3-vc11-x86.zip三个文件,
zlib-1.2.7.3-vc11-x86.zip在实际的编译过程中没有用到;
libssh2-1.8.0-vc11-x86.zip
openssl-1.0.2k-vc11-x86.zip
分别解压上面的zip文件

2. 解压curl-7.54.0.zip, 进入curl-7.54.0\projects\Windows目录,选择安装的vs对应版本的VC工程打开,我用的是vs2013选择VC12工程

3. 进入VC12目录,双击curl-all.sln文件,vs2013会启动并打开该文件

打开curl-all.sln后可以在解决方案看到有两个项目
curllibcurl,我要生成curl的库文件自己使用,就选择libcurl项目进行生成。

4. 编译libcurl
选择“LIB Release - LIB OpenSSL - LIB LibSSH2”,编译release版本的libcurl.lib

右键单击"libcurl"项目->生成,编译libcurl.lib库

5. 编译过程中错误解决
5.1 e:\01_code\tools\curl-7.54.0\lib\urldata.h(86): fatal error C1083: 无法打开包括文件: “openssl/ssl.h”: No such file or directory
解决办法:添加openssl头文件路径
解压openssl-1.0.2k-vc11-x86.zip,在“工程---属性---配置属性---VC++目录---包含目录”中添加openssl-1.0.2k-vc11-x86.zip解压后的include目录路径E:\01_code\tools\openssl-1.0.2k-vc11-x86\include,重新编译


5.2 e:\01_code\tools\curl-7.54.0\lib\ssh.h(28): fatal error C1083: 无法打开包括文件: “libssh2.h”: No such file or directory
解决办法:添加libssh2.h头文件路径
解压libssh2-1.8.0-vc11-x86.zip,在“工程---属性---配置属性---VC++目录---包含目录”中添加libssh2-1.8.0-vc11-x86.zip解压后的include目录路径E:\01_code\tools\libssh2-1.8.0-vc11-x86\include\libssh2,重新编译


5.3 错误 28 error LNK1181: 无法打开输入文件“libeay32.lib” e:\01_code\tools\curl-7.54.0/projects/Windows/VC12/lib/LINK libcurl
解决办法:libeay32.lib是openssl的库,添加对应的路径到工程。
在“工程---属性---配置属性---VC++目录---库目录”中添加openssl-1.0.2k-vc11-x86.zip解压后的lib目录路径E:\01_code\tools\openssl-1.0.2k-vc11-x86\lib,重新编译


5.4 错误 2 error LNK1181: 无法打开输入文件“libssh2.lib” e:\01_code\tools\curl-7.54.0/projects/Windows/VC12/lib/LINK libcurl
解决办法:添加libssh2.lib路径到工程
在“工程---属性---配置属性---VC++目录---库目录”中添加libssh2-1.8.0-vc11-x86.zip解压后的lib目录路径E:\01_code\tools\libssh2-1.8.0-vc11-x86\lib,重新编译

再次编译,编译成功!
在E:\01_code\tools\curl-7.54.0\build\Win32\VC12\LIB Release - LIB OpenSSL - LIB LibSSH2下生成了libcurl.lib文件


参考资料:


阅读(7818) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

dream_my_dream2017-09-13 16:17:36

这个必须给好评,良心大大的有。网上其他地方搜的资料乱七八糟的,折腾的我差点吐血,按这篇博文操作,一次性成功。太感谢作者了,

weituotian2017-06-06 13:44:36

这个很好