1. 程式人生 > >Windows下編譯並使用libcurl(curl:http客戶端庫c++版本)

Windows下編譯並使用libcurl(curl:http客戶端庫c++版本)

一、下載最新版本libcurl
https://curl.haxx.se/libcurl/   

二、編譯

解壓進入curl-curl-7_59_0\winbuild\下

靜態庫,debug
nmake /f Makefile.vc mode=static VC=14 DEBUG=yes MACHINE=x86

靜態庫,release
nmake /f Makefile.vc mode=static VC=14  MACHINE=x86

在build目錄下生成庫檔案include lib bin

三、新建工程進行測試
 
建一個空的工程,新增如下程式碼:

#include "include/curl/curl.h"  
 
int main()  
{  
    curl_easy_init();  
    return 0;  
}  

報錯:
1、error LNK2019: 無法解析的外部符號 __imp__curl_easy_init,該符號在函式 _main 中被引用

fatal error LNK1120: 1 個無法解析的外部命令

libcurl沒有連結到程式中,找不到這個函式入口

解決方案:開啟專案屬性,配置屬性 - C/C++ - 前處理器 - 前處理器定義 - 開啟下拉框 - 編輯 - 文字框輸入CURL_STATICLIB - 儲存(或者在curl.h中#define CURL_STATICLIB)
 

2、error LNK2019: 無法解析的外部符號 [email protected]

解決方法:
(1)給工程新增依賴庫:專案->屬性->連結器->輸入->附加依賴項,ws2_32.lib;winmm.lib;wldap32.lib新增進去。
(2)加入預編譯選項,專案->屬性->c/c++ ->前處理器->前處理器定義,把;BUILDING_LIBCURL;HTTP_ONLY新增進去,注意分號。

3、無法解析的外部符號 [email protected]

解決方法:在專案屬性 - 連結器 - 輸入 - 附加依賴項 中加入: Crypt32.lib

 即可。

4、無法解析的外部符號 [email protected]

解決方法:在專案屬性 - 連結器 - 輸入 - 附加依賴項 中加入:Normaliz.lib 即可。


附件為測試工程(包含已編譯好的庫)https://download.csdn.net/download/px41834/10600191

相關推薦

Windows編譯使用libcurlcurlhttp客戶c++版本

一、下載最新版本libcurlhttps://curl.haxx.se/libcurl/    二、編譯 解壓進入curl-curl-7_59_0\winbuild\下 靜態庫,debug nmake /f Makefile.vc mode=static VC=14 DE

從零開始學習音視訊程式設計技術35 windows編譯除錯ffmpeg

前面介紹了Linux下編譯ffmpeg的方法,考慮到大部分時候測試ffmpeg功能都是使用的windows系統(至少我是這樣的),因此將戰場重新轉移到windows上。    前面寫了那麼多的程式碼,但都只是簡單的呼叫了ffmpeg的API,並不知道他內部是如何實現的。如果可

【安裝】Windows TensorFlow 的安裝包含CUP版、GPU版、CUDA、cuDNN——最後更新日期 2018-05-30

____tz_zs您可以直接使用pip安裝tensorflow,只需一行程式碼就安裝好了。cpu版:pip3 install --upgrade tensorflow·gpu版:pip3 install --upgrade tensorflow-gpu·但是,推薦您使用Ana

windows進行 linux 開發 轉載第七星塵的技術部落格

1,介紹Vagrant 我們做web開發的時候經常要安裝各種本地測試環境,比如apache,php,mysql,redis等等。出於個人使用習慣,可能我們還是比較習慣用windows。雖然說在windows下搭建各種開發環境是可行的,各大開發環境都有windows版本。然而在windows下配置有時候會顯

基於Spring框架的Shiro配置轉發http://kdboy.iteye.com/blog/1103794

alt work actor proxy post end url return images 一、在web.xml中添加shiro過濾器 Xml代碼 <!-- Shiro filter--> <filter> <

Windows Toad 如何使用 Oracle instantclient 32位客戶

Toad需要32位的Oracle客戶端,通過如下方法,可以使用 Oracle instantclient。 1、安裝 Toad 2、在 Toad 的安裝目錄建立 StartToad.bat,內容如下 @echo off #設定OracleHome set ORACLE

influxdb介紹,安裝,使用等轉載http://www.jianshu.com/p/d2935e99006e

influxdb是目前比較流行的時間序列資料庫。 何謂時間序列資料庫? 什麼是時間序列資料庫,最簡單的定義就是資料格式裡包含Timestamp欄位的資料,比如某一時間環境的溫度,CPU的使用率等。但是,有什麼資料不包含Timestamp呢?幾乎所有的資料其實都可以打上一個Timestamp欄位。時間序列資料的

教大家獲取百度雲盤真實下載連結告別雲盤客戶,全速下載

先把百度雲盤資源分享到自己的雲盤中,然後建立公開連結。2.瀏覽器開啟該網頁,以360瀏覽器為例,按F12進入開發者模式,找到Console(控制檯),複製以下程式碼到控制檯,然後回車!$.ajax({type: "POST",url: "/api/sharedownload?

Windows編譯Cef3.2623加入mp3、mp4支持附帶源碼包和最終DLL《轉》

cef bug 程序 lib 網盤 red 嘗試 edr ase https://blog.csdn.net/zhuhongshu/article/details/54193842 源碼包下載地址:點我下載 最終Dll、Lib、PDB、頭文件下載地址(release、de

Windows編譯Yolov3CUDA9.1+cudnn7.0+OpenCV 3.1.0

按照官網給出CUDA9.1+cudnn7.0+OpenCV 3.1.0的版本安裝 1 安裝CUDA 9.1 預設位置安裝後發現環境變數自動加入了path   2 安裝cudnn 7.0.5 for cuda 9.1 下載地址:https://dev

WindowsUSB磁碟開發系列三列舉系統中U盤、獲取其裝置資訊

前面我們介紹了列舉系統中的U盤碟符(見《Windows下USB磁碟開發系列一:列舉系統中U盤的碟符》)、以及獲取USB裝置的資訊(見《Windows下USB磁碟開發系列二:列舉系統中所有USB裝置》)。有個時候我們不僅僅需要獲取U盤碟符(路徑),而且需要獲取該U盤的硬體資訊,比如廠商、friendl

Redis在windows的安裝啟動解決一個錯誤Could not get a resource from the pool

由於專案需要,最近在將專案的每個模組改變成一個單獨的服務來進行部署,但是服務寫完之後,在啟動時報了一個錯誤:Could not get a resource from the pool,如下圖所示: 由以上資訊並查閱資料後明白可能是redis沒有啟動,但是公司

Windows編譯xgboost的C++原始碼方便vs執行的

(作者:陳玓玏) 1、 下載原始碼: 網址:https://github.com/dmlc/xgboost ,最好不要直接下載zip,而是克隆,因為直接下載會下載不到xgboost依賴的dmlc-core和rabbit等庫,導致編譯失敗。克隆的好方法是通過git

Linux編譯使用Qt第三方圖形控制元件qwtUbuntu12.04 + Qt4.8.1 + qwt6.1.2

編譯環境 主機系統: VMWare + Ubuntu 12.04 (32位) 編譯器版本: gcc-4.6.3 Qt版本: Qt-4.8.1 + Qt Creator-2.5.0 qwt版本: qwt-6.1.2 安裝步驟 cd

CNNWindows編譯使用Caffe和Caffe2

       用於檢測的CNN分為基於迴歸網路的方法和基於區域+CNN網路的方法,其中基於迴歸網路的方法典型為YOLO9000,可以相容使用VGG-Net框架。其中基於區域+CNN網路方法,大量使用了Caffe作為基礎CNN框架。 準備工作(python27環境,X64平臺,使用Vs2013和Vs2015):

windows編譯最新版ffmpeg3.3-android,通過CMake方式移植到Android studio2.3中

windows下編譯最新版ffmpeg3.3 編輯ffmpeg資料夾下面的configure檔案,找到 SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' LIB_INSTALL_EXTRA_CMD='$$

【Code::Blocks】windows 環境編譯 Code::Blocks已修正

Code::Blocks 在2012-11-25釋出了最新的12.11版本,相比上一個版本(10.05),Code::Blocks 進行了許多改進和更新(Change log)。 Code::Blocks是一個免費、開源、跨平臺的IDE,使用C++開發,並且使

嵌入式 Linux編譯使用curl靜態

 #x86  ./configure --disable-shared --enable-static --disable-ftp --disable-ipv6 --disable-rtsp --disable-tftp --disable-telnet --disable

深入學習WindowsGit新手教程

linux 正在 五步 -m 一起 撤銷 pub 使用命令 clas 版權聲明:本文為博主原創文章,未經博主同意不得轉載。 https://blog.csdn.net/huangyabin

Windows編譯Lua

play pre functions aries programs mem lba other pil http://blog.csdn.net/yue7603835/article/details/41739085 http://blog.csdn.net/birdfl