libcurl编译及使用
环境:
libcurl版本:7.54.1
VS:Visual Studio 2013
一、编译
1、下载最新版的libcurl(curl-7.54.1.zip
)(地址:https://curl.haxx.se/download.html),并解压。可以通过Download Winzard来选择你需要的包。
2、打开VS2013 开发人员命令提示,并CD进入 \curl-7.54.1\winbuild
目录。
VS生成代码的时候有一个运行库选项(项目属性 - 配置属性 - C/C++ - 代码生成 - 运行库)/MT和/MD(/MTd和/MDd是对应的debug版本)。编译时如果加了RTLIBCFG=static这个选项,就相当于编译了/MT版本的libcurl,否则是/MD版本的(默认);如果加了DEBUG=yes,就是编译了Debug版本的,否则就是Release版本的(默认)。
编译命令(编译静态库mode=static):
nmake /f Makefile.vc mode=static VC=12 // 相当于/MD
nmake /f Makefile.vc mode=static VC=12 DEBUG=yes // 相当于/MDd
nmake /f Makefile.vc mode=static VC=12 RTLIBCFG=static // 相当于/MT
nmake /f Makefile.vc mode=static VC=12 RTLIBCFG=static DEBUG=yes // 相当于/MTd
3、编译完毕,会在build
目录生成文件。
4、更多信息参看\winbuild
目录中的BUILD.WINDOWS.txt
。
二、使用
1、拷贝include中curl
文件夹和lib文件夹中的libcurl_a.lib
静态库至工程目录。
2、加入预处理定义(如果是静态连接libcurl库)和头文件
#define CURL_STATICLIB
#include "curl\curl.h"
3、链接库
#if _DEBUG
#pragma comment(lib,"libcurl_a_debug.lib")
#else
#pragma comment(lib,"libcurl_a.lib")
#endif
4、构造函数或者初始化函数中加入
curl_global_init(CURL_GLOBAL_ALL);
5、析构函数或者退出函数中加入
curl_global_cleanup();
libcurl编译及使用的更多相关文章
- libcurl编译使用,实现ftp功能
Libcurl实现ftp的下载,上传功能.版本为curl-7.63.0 1.编译vs2015 参考资料:https://blog.csdn.net/yaojingkao/article/details ...
- libcurl编译
下载: git://github.com/bagder/curl.git openssl: openssl编译 for linux or mingw:./buildconf./configure ...
- 在window平台下,自己DIY编译OpenSSL,Libcurl ,来支持HTTPS传输协议
1 缘起 原来就了解些libcurl,一直没有机会在项目实际使用libcurl. 恰好最近一个云存储的项目,服务器使用openstack 恰好我负责现在的一个云存储SDK c++版本的开发中. 与 ...
- windows下libcurl+openssl编译与使用配置
之前使用过libcurl, 编译也是最简单的版本, 不需要openssl, 即不需要支持https, 所以编译和使用都很正常. 但要使用openssl就很麻烦了, 我花了差不多两天去编译和调用, 记录 ...
- Windows 编译libcurl(openssl+zlib)(使用VC编译)
libcurl主要功能就是用不同的协议连接和沟通不同的服务器,如果使用HTTPS,需要OpenSSL libcurl https://curl.haxx.se/download.html 下载Sour ...
- libcurl库openssl编译
openssl编译 win32: perl Configure no-shared VC-WIN32 --prefix=E:/lib/openssl-1.1.1 linux: ./config -f ...
- Yocto开发笔记之《嵌入式linux libcurl编程》(QQ交流群:519230208)
开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处. QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 =============================== ...
- qt5集成libcurl实现tftp和ftp的方法一:搭建环境(五篇文章)
最近使用QT5做一个软件,要求实现tftp和ftp文件传输,使用QT5开发好UI界面等功能,突然发现QT5不直接提供tftp和ftp支持,无奈之下只好找第三方库来间接实现,根据网友的介绍,libcur ...
- Sword libcurl使用
libcurl编译 >> ./configure --prefix=/opt/soft/curl --disable-ldap --disable-ldaps >> make ...
随机推荐
- 倒计时特效的CountAnimationLabel
倒计时特效的CountAnimationLabel 效果: 源码: CountAnimationLabel.h 与 CountAnimationLabel.m // // CountAnimation ...
- linux 无法安装gcc, 可以试试换用 阿里的yum
1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS-Base ...
- UDF/UDAF开发总结
参考文章: https://www.cnblogs.com/itxuexiwang/p/6264547.html https://www.cnblogs.com/eRrsr/p/6096989.htm ...
- 10个值得深思的PHP面试题
第一个问题关于弱类型 $str1 = 'yabadabadoo'; $str2 = 'yaba'; if (strpos($str1,$str2)) { echo "/"" ...
- Scala编译器安装
1.安装JDK 因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK. 2.安装Scala Windows安装Scala编译器 访问Scala官网http://www.scala- ...
- oc js 调用 函数调用栈
//定义需要暴露给js的内容,这里我们只暴露personName和queryPersonName接口 @protocol PersonProtocol <JSExport> @proper ...
- 【CSS】关于flex
flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间. 如果元素不是弹性盒模型对象的子元素,则 flex 属性不起作用. 设为Flex布局以后,子元素的float.clear和vertica ...
- Python 多线程 线程安全、daemon简介 (四)
线程安全 只能在Winodws下的ipython中演示,Python命令行.Pycharm.Mac下的ipython都演示不出效果 import threading def worker(): for ...
- WEB安全 ACCESS 注入、盲注脚本
http://www.xxx.cn/cp.asp?classid=3http://www.xxx.cn/cp.asp?classid=3 and //有拦截关键字http://www.xxx.cn/c ...
- Level/levelup-2-API
https://github.com/Level/levelup Special Notes What happened to db.createWriteStream() levelup(db[, ...