windows 下编译libcurl
因为linux平台采用了libcurl,有一个程序移植到到windows平台,再linux采用libcurl。在windows下准备也采用该库。在网上搜索了几位同行写的,步骤上面有缺失。
本文将以详细的步骤,介绍libcurl的编译。
下面是步骤:
1. 下载源代码,直接从github上clone仓库,就可以了。
git clone https://github.com/curl/curl.git
2. 选择版本
我采用了版本: 7.56.0 (tag)
3. 生成工程
执行curl/projects文件下generate.bat,生成一个windows文件,文件夹下面有VS的工程,我选择的VS14。

4. 打开curl-all.sln工程

5. 选择编译的项目:

6. 我们不需要OpenSSL 和 SSH2 两个库,我选择LIB Release执行,执行成功了。

7. 编译支持ssl的库,再projects中有一个ReadMe.txt,我们打开看一下。
The projects files also support build configurations that require third party dependencies such as OpenSSL, wolfSSL and SSH2. If you wish to support these, you will also need to download and compile those libraries as well.
如果需要支持他们,需要download这些特性呢,需要安装并且编译这些库。文件的目录结构如下:

8. 我们接下来去github下载openssl 和 ssh2吧。注意,目录结构要和curl在同一个文件夹下面。(github的服务器在老外,估计有时候下载速度有点慢,如果碰到了很慢的情况,耐心等待一会。喝茶中....)
git clone https://github.com/openssl/openssl.git
git clone https://github.com/libssh2/libssh2.git
9. clone 完成,openssl 我采用了1.0.2 的版本, ssh2采用了1.9.0的版本
10. 执行curl/projects/build-openssl.bat的批处理脚本
Usage: build-openssl <compiler> <platform> [configuration] [directory]
build-openssl vc14 x64 release ../../openssl

11. 选择编译选项的类型

12. 执行结果查看,成功了。

13. 在VS中引用生成的库。
#include <curl/curl.h>
#pragma comment(lib, "libcurl.lib")
直接引用,会报error LNK2019: 无法解析的外部符号 __imp__curl_easy_init,该符号在函数 _main 中被引用 这个错误。
需要定义下面的两个宏:

然后开始编译,不再报错。

windows 下编译libcurl的更多相关文章
- [转] Windows下编译OpenSSL
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...
- Windows下编译objective-C
Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode 目录 ...
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- 如何在WINDOWS下编译BOOST C++库 .
如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25 写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0. 1)下载boost ...
- 在Windows下编译OpenSSL(VS2005和VC6)
需要说明的是请一定安装openssl-0.9.8a . openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...
- windows下编译java源文件的编码错误
import java.util.Arrays;public class ArrayAsAReference{ public static void main(String[] args) { int ...
- Windows下编译SDL
Windows下编译SDL的理由我就不多说了,无论用VS来编译或调试SDL库都是很方便的.而且SDL源代码中也包含了VC工程,你所要做的只是解压VC工程,进行适当的配置,然后编译.调试. 编译SDL大 ...
- Windows下编译安装 FFmpeg
在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...
- windows下编译php7图形库php_ui.dll
CSDN博客 具有图形化编程才有意思,这几天看到了php ui 图形扩展,只是现在只能下载php 7.1的 本次教程编译php7.2.6的 php ui 要是linux下编译起来比较简单 但是 win ...
随机推荐
- 云小课 | IPv4枯了,IPv6来了
摘要:本篇主要分享IPv4与IPv6的区别和IPv6的应用场景,助您快速理解华为云IPv6双栈及IPv6 EIP. IPv6的由来 上节课我们讲了公网IP与私网IP,了解了IP地址的一些知识. 我们一 ...
- 【FZYZOJ】珂神不等式&平角咖啡厅 题解(二分答案)
前言:这题太神了,蒟蒻表示思路完全断档,甚至想到DP.得到大佬hs-black的帮助后才AC此题orz --------------------------------- 题目描述 ck love…… ...
- SpringMvc异常处理和SpringMvc拦截器
1. 异常处理思路 Controller调用service,service调用dao,异常都是向上抛出的,最终有DispatcherServlet找异常处理器进 行异常的处理. SpringMVC的异 ...
- Flink的流处理API(二)
一.Environment 1,getExecutionEnvironment getExecutionEnvironment会根据查询运行的方式决定返回什么样的运行环境,是最常用的一种创建执行环境的 ...
- Linux中文解决
中文编码问题 安装中文语言包 locale -a | grep zh 查看是否有中文语言包 local 查看是否 LC_TYPE 为空 在 /etc/profile.d/ 下创建 lc_type.sh ...
- sharedb结合elementUi编写的实时小工具
我是使用sharedb 作为后端 ,然后前端使用的elementUI样式,编写的一个值班小工具.接下来,让我们先来了解一下sharedb是什么吧? sharedb工具 github地址:https:/ ...
- 树上的等差数列 [树形dp]
树上的等差数列 题目描述 给定一棵包含 \(N\) 个节点的无根树,节点编号 \(1\to N\) .其中每个节点都具有一个权值,第 \(i\) 个节点的权值是 \(A_i\) . 小 \(Hi\) ...
- BufferedReader、BufferedWriter读写文件乱码问题:
代码: text4500.txt文档用text打开(不知道格式): 读取会出现乱码,然后用Notepad++打开换成UTF-8格式的.就可以了
- 【NOI2005】瑰丽华尔兹 - DP
题目描述 你跳过华尔兹吗?当音乐响起,当你随着旋律滑动舞步,是不是有一种漫步仙境的惬意? 众所周知,跳华尔兹时,最重要的是有好的音乐.但是很少有几个人知道,世界上最伟大的钢琴家一生都漂泊在大海上,他的 ...
- 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇)
系列文章 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇) 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇) 前言 好久不见,很久没更新博客了,前段时间 ...