如何看待 Windows 的 C 包管理器 vcpkg?

時間 2021-05-29 23:19:24

1樓:耗子哥

sqlite3測試使用

照著這個測試一下,

#include

#include

static int callback(void * NoteUsed, int argc, char **argv, char ** azColName)

std::cout << std::endl;

return 0;

}int main(int argc, char ** argv)rc = sqlite3_open(argv[1], &db);

if (rc)

rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);

if (rc != SQLITE_OK)

sqlite3_close(db);

system("pause");

return 0;

}宇宙第一IDE不是浪得虛名!

2樓:桃又

雖然說Linux自古以來就有包管理,但是為什麼明明只需要在乙個專案裡用到乙個第三方庫,卻必須要root許可權將這個庫安裝到系統目錄裡去呢?久而久之,甚至都搞不清楚一台電腦上到底安裝了多少個lib。Linux的包管理系統用來裝軟體可以,用來裝開發過程中使用的依賴庫就非常奇怪。

vcpkg至少允許我為某個特定專案去做乙個區域性的包環境,而且還不需要管理員許可權。不過要是能像NuGet、npm那樣比較完善地支援單個專案就更令人愉快了。

3樓:60荷蘭盾

剛剛用了 2019.08.27-nohash版本,發現已經被anaconda慣壞了,居然以為安裝指定版本的包是天經地義的事情,想裝個特定版本的包這麼難麼,腦殼疼

4樓:

聯想到當年配置DCMTK+ITK+VTK+OPENCV,各種編譯錯誤,光搭建庫要好幾天,這個一鍵整合,誰用誰知道,真他媽好用

5樓:鄭小信

當然是重新安裝VS2017了ヽ(ω)

自從重灌系統後就只裝了個2013日常湊合用→_→現在正在安裝→_→

上次我不是問了個有關oracle oci/occi驅動的問題嘛,被輪子哥翻牌子了ヽ(ω)

當然是要支援一波微軟了。

emmmm裝乙個cpprestsdk花了三個小時,中間好像還迷之裝了個boost。大概意味著我電腦不用再裝(編譯)boost了

然後就有了boost的庫

再上乙個lua的

(缺點:VS2013果然不能支援23333)

6樓:竹山塘一代小白

我覺得吧,cmake的hash演算法可能有問題我反饋了乙個issue我也無視了。

有乙個明顯的bug是,有些庫沒有x86版本,裝一半才報失敗……潔癖似的要求cmake git最新……

其餘的還好,早期版本只支援2015我就不提了,過去式了。

7樓:Xi Yang

先吐槽一下:終於開始做Linux各個發行版自古以來就有的東西了。

不過比起大部分的Linux包管理器,vcpkg據說能比較容易地安裝同乙個包的不同版本,這算是個很大的優勢。我用過的的Linux包管理器都不能做到這個,除非源管理者將不同版本的軟體視作不同的軟體,比如libpng12和libpng16、Gtk2和Gtk3。

8樓:ggffss

雖然確實解決了一定的windows平台上的痛點,但是並沒有什麼創新之處。

過度引入CMake這種額外的東西我個人認為並沒有徹底解決C++的問題。

C++的包管理還需要 Module +import 的機制來解決。

老的回答:

9樓:Chen Jun

還在為include找不到標頭檔案而煩惱嗎?還在為LINK找不到符號而憂愁嗎?vcpkg,你值得擁有。

windows開發者歡天喜地,終於擁有了乙個十多年前的Linux的標配。

擁抱開源的微軟不是能隨便罵的好微軟…

10樓:

已用,淚流滿面. 比如想裝gtest直接"vcpkg.exe install gtest"就ok了.

然後工程裡直接#include ,然後就可以了! 直接就用上了,連鏈結庫都是自動鏈結,更不用去選什麼包含目錄,超爽!

即使你用cmake也不怕,因為vcpkg裝好想要的庫後會提示你cmake可以通過findpackage來找裝好的庫. 已經支援的庫居然還真不少了,boost之類的自不必說, pcre,freetype,gtest,catch什麼的都有. 強烈建議所有windows程式設計師試用!

還記得多年前初學C++

我都恐懼的無從下手

只會傻傻的看著一堆makefile

.vcproj在哪邊?

每次下好了網上的各種庫

我的心裡就變得很亂

不懂啥是cmake啥是ninja,

只好點de~le~te哦!

不明白不明白, 構建咋他媽的那麼難.

捨不得這個庫

可我是一生一世錯誤滿眼

我明白我明白Windows不入你們法眼

或許我會有一天實現可那是用了Homebrew.

還記得多年前楞在視窗前,

看著boost慢慢構建,

乙個年輕的碼農見到bjam,

你定能想象那瞬間.

當你編譯的時刻我等著你

你卻說又找不到符號.

這種操蛋的心情讓我每天憂愁

只好就De~le~te哦!

不明白不明白, 編譯咋他媽的那麼難.

你要鏈,這個庫

要選好幾十個靜態庫!

我明白我明白Windows不入你們法眼

或許我會有一天實現可那是用了RPM.

如何評價c 包管理工具conan

晚上折騰了一下,和cmake結合基本只要寫三行,似乎比vcpkg方便一些。依賴管理很舒服,有點cargo的感覺,但是public的庫似乎不如vcpkg活躍和豐富,boost的endian居然沒有。遂棄之。不過團隊如果管理自己的輪子,應該蠻方便的。是個好東西,期待進步! 孫笑凡 非常不錯的一款工具,彌...

Linux 下的 C 開發和 Windows 環境下的開發有什麼區別?

張杰 1 開發環境 2 系統 API 3 第三方庫 一年前,13年我做Windows底層開發,常用的技術與工具庫 C C STL POCO BOOST,Python,lua,gTest,VS,Notepad 目前做遊戲開發,常用的技術與工具庫 C C STL BOOST,Python Shell A...

如何看待 Windows 原生支援 Docker

張斌 windows在服務端領域已經沒有什麼地位,這是歷史遺留問題,即使是docker也難以改變這種格局,當然玩玩是可以的!同意你的看法。 Windows原生支援docker應該是指的windows核心,可以用容器來部署windows上的一些應用。而Mac上現在只能原生支援Linux核心,用來應付L...