curl 編譯成vs2019 使用的動態鏈接庫 以及具體的使用方法(測試已經通過,手把手教你。)

前面

\quad上次偷了個懶,在這篇文章裏有記錄過我當時使用的Visual Studio自帶的包管理工具,很簡單的就在項目裏面加入了curl。簡單快捷,但是有個問題,就是這樣的話,程序體積有些大,速度也有些慢,不太好。

開始

我現在想把它弄成動態鏈接庫,這樣程序啓動的時候會更快。所以,我就重新編譯和導入到vs2019裏面。

下載

https://curl.haxx.se/download.html這是官網。
首先去官網下載。不過有時候會打不開,不知道這個網站有啥問題,一般把多刷新幾次就好,我個人覺得還是官方的東西靠譜,還可以根據自己的需要,選擇想要的那個版本,不過一般都是直接最新版吧。哈哈哈。

解壓

常規操作,解壓到自己想要的一個文件夾裏面去。推薦使用7z等軟件,
解壓完之後是這樣的:
裏面的每個文件夾有什麼東西啊,大概是幹啥的,可以進去看一看,瞄一瞄。不過一開始也不會很清楚的,瞄一下,大概有個印象即可。
在這裏插入圖片描述

編譯-打開

接下來是最麻煩的地方了,我找的很多博客又是開控制檯,又是命令行之類的各種操作,真的是麻煩,最後找到了一個簡單的博客,操作方法及其簡單。
就是這個鏈接。
具體操作方法就是直接使用Visual Studio打開
在這裏插入圖片描述

按照這個文件目錄,打開裏面的curl-all.sln文件即可。至於你是選擇VC15還是裏面的14 13 啥的,看你的Visual Studio版本了。vs2015的打開VC14,17的打開VC15,等等,具體參考的是裏面的平臺工具集,二者要對應即可。就是這個:(這個界面,點擊 項目 屬性即可彈出。我是vs裏面的這些常用的按鈕啥的,要記得在哪裏,因爲老是會需要用到。)
在這裏插入圖片描述

這個地方你可能會遇到兩個問題,一是說打開的項目找不到啥啥文件的,我也遇到過這個問題,建議直接重新下載,別下那個-master版本的。這個版本的有這個問題,具體爲啥還不清楚。二是你有可能會遇到平臺工具集的問題,覺得想給自己電腦加幾個除了當前vs版本的工具集,其實很簡單,去微軟官網下載一下你想添加的工具集版本對應的vs版本的installer,然後點擊安裝,這時只安裝工具集那部分的的東西即可,這部分東西佔用空間不大。弄完之後,再次打開你的vs就可以看到新安裝的工具集了。 這個我在上次學習libcurl這篇文章裏面的第4點也有提到。看第4點

編譯-正式編譯了

簡單到爆炸的操作。
在上面選擇你需要的版本,是dll 還是lib,是debug還是release等等。
關於lib和dll的區別與聯繫
debug和release就不說了。
在這裏插入圖片描述

然後點擊本地Windows調試器就好了。結束了,如上圖所示。就ok了。沒有那些命令行啥的。有時候我覺得竟然Visual Studio已經如此強大了。

使用

很討厭那些只介紹到,編譯的博客,都不告訴大家怎麼使用。雖然有些人是懂的,但是像我這樣的就不懂。哈哈哈哈。

1

編譯完了,之後,我們可以看到文件夾裏面的一些子文件夾裏面的內容發生了更改。請看,原來是沒有bulid這個文件夾的。我覺得可能還有其他的更改,有興趣的可以去找找。
在這裏插入圖片描述

正式使用dll

關於使用dll是另外一個大的課題。分爲兩種方法。具體的區別於聯繫這篇文章有介紹。
第一種方法是靜態調用方式,我們這裏介紹的。
第二種方法是動態調用方式,我以前的這篇文章有介紹。
我查到的很多的博客,也是常用的,就是靜態調用方式。
這種方式的時候,我麼需要做以下幾件事:
1.在項目文件夾裏面,創建文件夾include和lib.
2.進入目錄D:\curl\curl-7.70.0\curl-7.70.0\build\Win32\VC14\DLL Release(具體看你自己的目錄啦!)將libcurl.dll和libcurl.lib分別拷貝到項目文件夾的include和lib目錄下。
在這裏插入圖片描述

3.項目——屬性—— C/C++——預處理器——預處理器定義 添加 CURL_STATICLIB,關於這一項,我測試了不加也行,就是運行的時候,佔用的內存大一些。因此是非必須的
4.項目——屬性—— C/C++—— 常規—— 附加包含目錄 添加include.(記得改完之後點擊應用),不然沒有生效,這幾步都是,一定要記住!不然不生效的,就沒用!
5.項目——屬性—— 連接器—— 常規—— 附加庫目錄 添加lib.
6.將D:\curl\curl-7.70.0\curl-7.70.0\include下的curl目錄拷貝到項目文件夾的include目錄下。
(1 2 4 5 6 這幾個操作往往是必須的,也是常規使用一個DLL必須要進行的操作。)
在這裏插入圖片描述

7.最後一步,先生成項目,這時在項目文件夾裏面hi出現debug文件夾,然後把前面的那個libcurl.dll放到裏面,至此就可以使用了!
8.最後的最後,當然使用的時候需要添加頭文件和lib等等東西,至於這些東西具體是哪幾個頭文件,哪幾個lib等等,對於通用的DLL添加方法不是很清楚,但是對於curl就是下面這幾個。我的意思是說,對於這裏使用cur;就是加入這幾個東西就可以了,但是對於更加通用的方法暫時還不清楚。比如下一次有遇到了使用DLL又需要添加什麼之類的。

#include <curl/curl.h>
#pragma comment(lib, "libcurl.lib")   
#pragma comment(lib, "wldap32.lib")   
#pragma comment(lib, "ws2_32.lib")   
#pragma comment(lib, "winmm.lib") 

如果還有問題,歡迎諮詢,qq 1557414994.

參考博客:
https://blog.csdn.net/taoerit/article/details/40411191?locationNum=11&fps=1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章