承接各類STM32項目、JAVA、C++、Android、微信、Linux,畢業設計開發
手機:18559979152(微信同號)
一、編譯 Visual Studio(VS2017)編譯並使用curl C/C++ HTTP GET POST libcurl
二、調用示例 Visual Studio(VS2017)編譯並使用curl C/C++ HTTP GET POST libcurl
上篇講了怎麼編譯curl,這篇講怎麼簡單調用編譯生成的curl庫
一、新建VC工程
打開Visual Studio 2017 菜單->新建->新建項目
我選擇的是MFC應用,如果只是測試,選擇命令行應用也可以
下一步,應用程序類型->基於對話框,其它默認
下圖是創建好工程的樣子,可以先編譯運行一下
二、導入頭文件
先將上篇生成的庫複製到此項目的文件夾中,如下圖:
如果是項目工程有多個其它庫包含的話,最好把這兩個目錄重命名一下,例如改成Curl_inc和Curl_lib(後面配置需要跟着改)
我只是測試,所以就不改名字了
三、工程配置
打開項目->屬性頁
1、配置選擇Release,平臺選擇x64,這裏的選擇是因爲上篇編譯庫時的配置參數是Release,x64,如要debug或x86,請根據上篇重新編譯,這裏選擇對應配置。
2、把.h和lib包含到工程
選擇左邊VC++ 目錄,在右邊包含目錄添加$(ProjectDir)\include;,庫目錄添加$(ProjectDir)\lib,$(ProjectDir)是項目目錄的變量,在這個項目的值就是:<D:\123\MFCApplication1\MFCApplication1>,這樣即使移動工程到不同文件夾也不會受影響
3、本項目靜態編譯,所以需要將CURL_STATICLIB
添加至工程。選擇C/C++->預處理器->預處理器定義:添加CURL_STATICLIB
4、添加其它需要的庫
鏈接器->輸入->附加依賴項:添加libcurl_a.lib;Ws2_32.lib;Wldap32.lib;winmm.lib;Crypt32.lib;Normaliz.lib;
四、測試運行
1、添加curl頭文件
2、添加簡單示例代碼進行測試
在OnInitDialog()中添加代碼
// TODO: 在此添加額外的初始化代碼
printf("test printf %s\r\n", "abc123");
CURL *curl = nullptr;
CURLcode res;
curl = curl_easy_init();
if (curl != nullptr) {
curl_easy_setopt(curl, CURLOPT_URL, "http://www.baidu.com");
/* example.com is redirected, so we tell libcurl to follow redirection */
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* Check for errors */
if (res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
}
/* always cleanup */
curl_easy_cleanup(curl);
}
編譯運行後如下圖,請求的是我們公司網關固件更新信息API,也可以直接請求百度,CSDN等網址來測試
關於MFC調用CMD命令行窗口打印輸出請查看我的另一篇文章
Visual Studio 2017 VC項目設置 printf 輸出到 Console 窗口調試
Curl官網還準備了其它不同的應用示例,大家可以去下載查看