Win10+VS2015编译libcurl

来源:互联网 发布:mac修容粉香港价格 编辑:程序博客网 时间:2024/05/16 10:00

Win10+VS2015编译libcurl

目标:vc环境下 libcurl库

材料:

1. Curl源码,可从官网下载,https://curl.haxx.se/download.html,当前版本使用的是7.50.3

2. openssl在window下编译的库文件+头文件,可参照编译openssl的方式自行编译,也可以直接下载编译好的。http://windows.php.net/downloads/php-sdk/deps/

步骤:

1. 解压curl及整理openssl材料,openssl和curl文件夹放在同一个文件目录下,openssl的文件目录如下

openssl文件夹(如openssl-1.0.1t-vc14-x86)│├─bin(文件夹下放.dll动态库)├─include│  └─openssl(文件夹下放.h头文件)├─lib(文件夹下放静态库.lib文件)

2.创建一个.bat文件(如build_lib_bat_vc14.bat),内容如下(vc版本,openssl文件夹名及动/静态库可视情况改动),并将该bat文件放到curl源码文件夹下的winbuild文件夹中。

静态库

@REM @echo off@IF [%1]==[debug] (@echo 正在使用debug模式编译libcurl~~~@nmake /f Makefile.vc WITH_DEVEL=../../openssl-1.0.1t-vc14-x86 mode=static VC=14 WITH_SSL=static ENABLE_IDN=no RTLIBCFG=dll DEBUG=yes MACHINE=x86) ELSE (@echo 正在使用release模式编译libcurl~~~@nmake /f Makefile.vc WITH_DEVEL=../../openssl-1.0.1t-vc14-x86 mode=static VC=14 WITH_SSL=static ENABLE_IDN=no RTLIBCFG=dll DEBUG=no MACHINE=x86)@REM @echo on

动态库

@REM @echo off@IF [%1]==[debug] (@echo 正在使用debug模式编译libcurl~~~@nmake /f Makefile.vc WITH_DEVEL=../../openssl-1.0.1t-vc14-x86 mode=dll VC=14 WITH_SSL=dll ENABLE_IDN=no RTLIBCFG=dll DEBUG=yes MACHINE=x86) ELSE (@echo 正在使用release模式编译libcurl~~~@nmake /f Makefile.vc WITH_DEVEL=../../openssl-1.0.1t-vc14-x86 mode=dll VC=14 WITH_SSL=dll ENABLE_IDN=no RTLIBCFG=dll DEBUG=no MACHINE=x86)@REM @echo on

3. 点击 windows 开始->所有应用->vs2015->开发者命令提示(Developer Command Prompt for 2015)。

4. CD到curl源码的winbuild目录。

5. 执行build_lib_bat_vc14.bat release。

6. 如build成功,会在源码目录下的builds文件下找到include和lib,如下图结构。

├─libcurl-vc14-x86-release-static-ssl-static-ipv6-sspi│  ├─bin│  ├─include│  │  └─curl│  └─lib

#PS:

添加libcurl库和头文件后编译可能会提示错误,无法解析的外部符号。

解决方法:
1. 给工程添加依赖库:项目->属性->链接器->输入->附加依赖项,ws2_32.lib;winmm.lib;wldap32.lib添加进去。
2. 加入预编译选项,项目->属性->c/c++ ->预处理器->预处理器定义,把;BUILDING_LIBCURL;HTTP_ONLY添加进去,注意分号。


感谢各大神网上奉献的资料,后来者使用才更为简便

以上内容仅为个人实作学习记录,如涉及权限问题请告知,谢谢!

下载库链接:http://download.csdn.net/detail/alger_magic/9669849

0 0