1. 程式人生 > >windows 編譯libcurl

windows 編譯libcurl

1.首先到https://curl.haxx.se/download.html 下載。我這裡最新版是curl-7.58.0.zip 
2.然後開啟VS2017的命令列工具 切換到XXX/curl-7.58.0\winbuild 目錄下
3.輸入 nmake /f makefile.vc mode=static VC=15 ENABLE_IDN=no debug=no 其中VC15對應VS2017。 debug也可以是yes 生成debug版本。我這裡是static引用。和dll的不一樣。請注意。
4.等待編譯完成。這時,會在XXX下的curl-7.58.0\builds\libcurl-vc15-x86-debug-static-ipv6-sspi-winssl 生成你所需要引用的一切。
5.開啟你自己的工程,設定好include lib的目錄為該目錄下的include和lib路徑。可以進bin目錄 輸入curl -V 檢視 已有https支援。

6.以下是完整程式碼

#include "stdafx.h"
#include <string>

#define CURL_STATICLIB //===注意不要漏掉這個
#include <curl/curl.h>
#pragma comment(lib,"libcurl_a_debug.lib")

using namespace std;

void ImageDownloader(const string& image_url, const string& save_address)
{
	CURL* curl;
	CURLcode res;

	curl = curl_easy_init();

	FILE* fp = nullptr;
	fopen_s(&fp, save_address.c_str(), "wb");
	res = curl_easy_setopt(curl, CURLOPT_URL, image_url.c_str());
	if (res != CURLE_OK)
	{
		curl_easy_cleanup(curl);
		return;
	}

	res = curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
	curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
	curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);//設定為不驗證證書和HOST  
	curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, false);

	res = curl_easy_perform(curl);
	fclose(fp);

	curl_easy_cleanup(curl);
}

int main()
{
	curl_global_init(CURL_GLOBAL_WIN32);

	ImageDownloader("https://www.baidu.com/img/bd_logo1.png", "d:/aaa.png");

    return 0;
}
CMake 直接編譯出來的並不能用https。。。醉了。




//==========附錄 
使用winssl的優勢
https://www.cnblogs.com/chenyangchun/p/6868102.html


編譯事項
http://blog.csdn.net/ixiaochouyu/article/details/47998267


程式碼來源
http://blog.csdn.net/ProgrammerApprentice/article/details/52881793

相關推薦

Windows 編譯libcurl(openssl+zlib)(使用VC編譯

org tar 處理器 verify easy 控制臺應用程序 默認安裝 1.0 tps libcurl主要功能就是用不同的協議連接和溝通不同的服務器,如果使用HTTPS,需要OpenSSL libcurl https://curl.haxx.se/downl

windows 編譯libcurl

1.首先到https://curl.haxx.se/download.html 下載。我這裡最新版是curl-7.58.0.zip 2.然後開啟VS2017的命令列工具 切換到XXX/curl-7.58.0\winbuild 目錄下3.輸入 nmake /f makefile

windowslibcurl+openssl靜態庫編譯(32位和64位靜態庫-不同openssl版本)

關於windows下編譯libcur相關的庫的文章是一大把,但是支援ssl的相關文章相對少一些,能按照對應要求編譯通過的更少,編譯成靜態庫的更少!再就是更不用說同事支援win64位系統的了,如下為我們開發過程中實際編譯通過的總結,一來希望後續使用人員能夠看到,為廣大網友做點實

在Ubuntu和Windows編譯libcurl支援https

在Windows上: 軟體基礎: VS 2015 下載: 1、libcurl: https://curl.haxx.se/download.html 我選的curl-7.54.0.tar.gz 2、zlib http://www.zlib.net/ 我選的1.2.11 3、openssl https://ww

Caffe windows編譯

nvi soft odi leveldb microsoft log eve rop version 一、編譯環境 1.下載caffe windows版源碼 https://github.com/BVLC/caffe/tree/windows 2.CUDA   CUDA 7

xgboost python windows編譯問題

jsb 找到 script 表示 pack 等待 問題 安裝 pro 1、作為kaggle上非常火的機器學習包xgboost,windows python包安裝起來真的非常麻煩,安裝了一整天才成功。 2、請先下載xgboost-master,csdn上有資源的,能

Windows 編譯 MQTT C++ Client

res cor one nsh cin cep amp 一個 方便 MQTT MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支持所有平臺,幾乎可以把所

Qpid第一課 Windows編譯C++/ Qpid Client

required span pac cati first behavior 可選 cif dot 一 瀏覽編譯文檔 INSTALL-WINDOWS.txt文檔描述了Windows編譯Qpid的操作步驟以及註意事項,當前采用的是Microsoft Visual Stud

windows編譯python擴展Unable to find vcvarsall

python在windows平臺上安裝比如twisted,gevent時會報出該錯誤,在網上找了一些解決辦法大多都是說將編譯器修改為mingw32,而我覺得此辦法稍顯麻煩,剛好電腦上安裝有VisualStudio,找了一圈發現只需設置環境變量即可,此法正合我意。 操作步驟如下: 打開Visual Studi

Windows編譯Opencv

.com cmak TP configure bubuko 設置 window 路徑和 點擊 下載安裝CMake 下載Opencv源碼 打開CMake,設置源碼路徑和生成路徑,點擊Configure選擇要生成的版本。 勾選BUILD_opencv_world的話,表示只生

LibreCAD Windows編譯問題集

執行環境:win7系統,QT5.9.0(MSVC2015 32bit) 下載資源 LibreCAD Boost 說明:下載最新版本即可(當時下載的的版本為:LibreCAD 2.2.0,Boost 1.53.0)。 編譯生成幾個功能庫檔案:dxfrw.lib、jwwlib.l

windows編譯mysql5.6驅動程序

mys ima src 心態 mage 技術 com 技術分享 程序 。 參考博客 http://blog.sina.com.cn/s/blog_a6fb6cc90101gzm1.html#cmt_5320A795-7F000001-413DD48F-898-8A0 需要註

Windows編譯boost

下載boost壓縮包解壓,找到bootstrap.bat檔案 1、執行bootstrap.bat 2、編譯&安裝 在步驟1之後,會生成一個b2.exe檔案 如果選擇VS編譯下面的“toolset=msvc”,要求編譯器支援c++11,所以儘量使用VS2013及以上版本,推薦VS2

Windows編譯PHP7.2拓展

轉載請註明文章出處: https://tlanyan.me/windows-co... 準備工作 https://github.com/Microsoft/...下載PHP-SDK(在右邊的“clone or download”點選,選擇下方的“download zip”); ht

Windows編譯MVE-Debug版本

還是和之前一樣部落格一樣,下載地址什麼的都沒有變 Windows編譯MVE 新建一個工程mve_d 重新下載解壓 開啟3rdparty中的CMakeLists.txt 將Release改為Debug 然後就和前面的部落格一樣,VS2015正常編譯 最後會成功8個,失敗

Ubuntu14.04+android-ndk-r10b+arm編譯libcurl-7.61.1,支援openssl-1.1.1(https)

相關依賴: android-ndk-r10b:ubuntu14.04搭建Android-NDK開發環境 android-arm:ubuntu14.04搭建Android-arm交叉編譯環境 openssl-1.1.1: ubuntu14.04+android-ndk-r10b+arm

Windows編譯安裝使用cephfs客戶端

本文介紹如何將cephfs對映到windows的一個盤上,以磁碟對映的方式訪問cephfs。 1.下載必要安裝包 tdm-gcc:(安裝時選32位) https://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm-gc

OBS Windows 編譯

摘要:官方編譯指南地址官方編譯指南官方Windows編譯指南編譯步驟1.下載(1)下載依賴庫,包括FFmpeg,x264,curlVS2013:https://obsproject.com/downloads/dependencies2013.zipVS2015:https://obsproj

Openpose——windows編譯(炒雞簡單)

前言 最近準備看看rtpose的程式碼,發現已經由openpose這個專案維護著了,由於經常在windows下除錯程式碼,所以嘗試了一下如何在windows下編譯openpose原始碼,結果發現,我靠

交叉編譯libcurl庫遇到的 Unable to link function recv 錯誤解決辦法

libcurl error: Unable to link function recv 最近在Android上交叉編譯libcurl庫, 遇到` Unable to link function recv `, 但是同樣的指令碼, 在同事電腦上跑的好好的, 尷尬...這種環