Visual Studio 2010 环境下 配置LibCurl with SSL 方法
2012-02-15 23:41
435 查看
这两天没事研究各种互联网协议,开始用原始socket自己封装通讯类,但是太麻烦,用ACE,又太重量级,最后改用cURL,比较适合大众使用。
Libcurl过去只听过,没用过,只知道支持各种网络应用层通讯协议,并且用c语言实现,效率很高,使用又很方便。去了趟官网,发现很多版本的库文件,可见开发者真的花了很大功夫去维护,并且基于网络数据传输的无差别性,该函数库几乎可以在所有操作系统上使用,真是一个优秀的函数库。
这个函数库你可以选择自己编译,也可以选择使用现成的函数库,在官网上,有现成的函数库可以下载,全在http://curl.haxx.se/download.html 这个页面上,由于我编译环境是visual studio 2010,所以我选择下载Win32 - MSVC选项的函数库,下载解压之后,文件夹里有各种不同条件下生成的库和编译需要的include头文件。在配置完环境后,我简单写代码测试了下,就是用一个简单的http反射来测试函数库是否可以工作,但是频繁出错,compile的时候并没有错,但是一运行,就会出现环境出错之类的提示,网上搜了下,说是visual
c++ IDE环境的问题,相必是vc6.0和vs2010之间差别导致的,此类错误遇到的不在少数了,最好方法就是自己编译函数库。
Libcurl的源码在上面那个链接也有下载,下载之后,在根目录下有个vc6curl.dsw文件,打开这个文件,VS 2010会提示转换,一路确定即可,转换之后编译,生成的函数库用http反射测试下,果然工作正常了,可见确实是编译器的问题,用https测试了下,出错了,debug设置断点看看返回了什么,居然是unsupported protocol,可见默认编译的是无SSL支持的,那么怎么让编译支持SSL呢?
最后再邮件列表里找到了答案,libcurl编译其实有很多预处理宏,其中就有USE_OPENSSL和USE_SSLEAY,在预处理选项里添加这两个宏之后,编译会自动检测SSL支持,这时候只要配置好头文件和openSSL库文件的位置即可编译出具有ssl功能的libcurl,除了这两个宏,我还添加了CURL_STATICLIB和CURL_DISABLE_LDAP,前者是编译静态库,后者是为了禁用ldap功能。
用上面方法编译后,https测试正常,完全支持SSL功能。
Libcurl过去只听过,没用过,只知道支持各种网络应用层通讯协议,并且用c语言实现,效率很高,使用又很方便。去了趟官网,发现很多版本的库文件,可见开发者真的花了很大功夫去维护,并且基于网络数据传输的无差别性,该函数库几乎可以在所有操作系统上使用,真是一个优秀的函数库。
这个函数库你可以选择自己编译,也可以选择使用现成的函数库,在官网上,有现成的函数库可以下载,全在http://curl.haxx.se/download.html 这个页面上,由于我编译环境是visual studio 2010,所以我选择下载Win32 - MSVC选项的函数库,下载解压之后,文件夹里有各种不同条件下生成的库和编译需要的include头文件。在配置完环境后,我简单写代码测试了下,就是用一个简单的http反射来测试函数库是否可以工作,但是频繁出错,compile的时候并没有错,但是一运行,就会出现环境出错之类的提示,网上搜了下,说是visual
c++ IDE环境的问题,相必是vc6.0和vs2010之间差别导致的,此类错误遇到的不在少数了,最好方法就是自己编译函数库。
Libcurl的源码在上面那个链接也有下载,下载之后,在根目录下有个vc6curl.dsw文件,打开这个文件,VS 2010会提示转换,一路确定即可,转换之后编译,生成的函数库用http反射测试下,果然工作正常了,可见确实是编译器的问题,用https测试了下,出错了,debug设置断点看看返回了什么,居然是unsupported protocol,可见默认编译的是无SSL支持的,那么怎么让编译支持SSL呢?
最后再邮件列表里找到了答案,libcurl编译其实有很多预处理宏,其中就有USE_OPENSSL和USE_SSLEAY,在预处理选项里添加这两个宏之后,编译会自动检测SSL支持,这时候只要配置好头文件和openSSL库文件的位置即可编译出具有ssl功能的libcurl,除了这两个宏,我还添加了CURL_STATICLIB和CURL_DISABLE_LDAP,前者是编译静态库,后者是为了禁用ldap功能。
用上面方法编译后,https测试正常,完全支持SSL功能。
相关文章推荐
- Visual Studio 2010下编译osip及eXosip并搭建开发环境的方法
- opencv2.3 + visual studio 2010 编译配置方法
- OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008和Visual Studio 2010配置方法详解
- OpenCV环境配置Visual Studio 2010、2012、2013、2015
- 运行STASM所需要的Visual Studio 2010和OpenCV的配置方法
- Visual Studio 2010 集成环境下配置OpenGL环境
- CUDA5.0 + Visual Studio 2010 的环境配置
- Visual Studio下OpenCV最完美的环境配置方法
- 如何重置 Visual Studio 2005/2008/2010 环境配置
- OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008和Visual Studio 2010配置方法详解
- OpenGL 入门学习-—Visual Studio 2010环境配置,及过程出现的问题与解决方案
- Visual Studio 2010配置OpenCV的方法
- Visual Studio 2010环境下Sqlite3加密版(由wxSqlite制作)使用方法
- win7 Visual Studio 2010 配置opencv 2.4.5 开发环境
- 在Visual Studio 2010中设置编写C程序环境的方法
- Visual Studio 2010下编译osip及eXosip并搭建开发环境的方法
- OpenCV环境配置Visual Studio 2010、2012、2013、2015
- Visual Studio 2010 patterns and practices 开发环境配置
- OpenCL(CUDA5.0) + Visual Studio 2010 环境配置
- Visual Studio 2010环境下Sqlite3加密版(由wxSqlite制作)使用方法