Chinaunix首页 | 论坛 | 博客
  • 博客访问: 253942
  • 博文数量: 63
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 750
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-10 21:59
个人简介

付出,终有回报!

文章分类

全部博文(63)

文章存档

2018年(6)

2017年(24)

2016年(6)

2015年(27)

分类: C/C++

2017-09-13 16:15:20

一、编译libcurl静态库
1、下载curl-7.54.0.zip并解压
https://curl.haxx.se/download.html下载curl-7.54.0.zip
2.  下载libssh2、openssl、zlib
到http://windows.php.net/downloads/php-sdk/deps/vc11/x86/下载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文件


参考资料:
http://www.th7.cn/Program/cp/201702/1117762.shtml

阅读(782) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册