js有npm,rust有cargo,python有pip。C 有什麼?

時間 2021-05-06 21:47:01

1樓:phiysng

正是因為C++有悠久的歷史,所以它沒有乙個標準的包管理器。像Python和Rust都是更年輕的語言。C++有很多套機制可以做包管理,但是沒有乙個成為事實上的標準。

我用過的可以進行包管理的有apt(系統包管理),vcpkg(微軟的),直接使用CMake做包管理和Canon。

但是每乙個都只能解決一部分的庫的問題。

2樓:賣萌沒節操

conan 或者 vcpkg?

反正都和前面你說的那些包管理工具比差點功能。

(c++要是真有這些玩意輪得到它們 ?)

(然而似乎除了rust都表示沒有感到壓力)

3樓:

有基於 CMake 的 vcpkg, 可以通過它安裝各個平台的二進位制庫(Win32, Mac, Linux, Android, iOS),尤其是一些自己編譯十分繁瑣的,像 OpenSSL, FFmpeg

CMake 正在成為事實上組織 C++ 工程的標準。主流的 IDE 都支援 CMake 了,包括 Visual Studio, Qt Creator, CLion, Android Studio

4樓:

C++ 20不是加module了嗎,我預計2023年就會有通用C++包管理器了。

現在有conan,但是沒多少包。

其實docker+linux包管理器也可以算是一套包管理解決方案。

目前最好的方式還是自己寫指令碼把依賴的原始碼都放到third_party/下面,一旦接受這個設定反而很有控制感有點上癮......

5樓:銀河-蝸牛

恭喜你發現了盲點。你說的這些實際上指的是包管理器(Package Manager),而在Windows上確實是難以找到C/C++軟體包的包管理器的。在GNU/Linux發行版上,系統包管理器就很好地完成了這一任務(例如Debian系的apt、arch系的pacman、centos的yum),而Windows上則需要第三方工具。

在Windows上我所知道的唯一的能夠管理C/C++庫的包管理器應該是由msys2移植的pacman包管理器,其中mingw64類別下的軟體包即為Windows64位系統的原生程式。不過它也存在乙個問題是,這些軟體包都是用mingw-gcc編譯的,所以如果要使用msvc編譯器的話可能會存在不相容的問題,這就沒有辦法了。所以如果你選擇了使用msys2中打包的C++庫,就意味著你需要使用g++作為編譯器了。

有哪些 JS 除錯技巧?

F12進入chrome的開發者工具,簡潔好用又強大。這裡有CodeSchool的高質量教程Code School Discover DevTools sourceURL filename.js 這個技巧好,可以除錯console中輸入的js.IE6中js除錯可以用用companion.js IETe...

Js有女朋友嗎?

病貓香草 現在應該沒有吧,畢竟實在太忙了 一直都是空中飛人的狀態。壓根沒時間談 但是,就算有也沒關係吧 累了也能有個人陪陪他抱抱他不是挺好的嘛。 wx87390a297b5072e3 有啊。你們都不知道?這不是大家都知道的嘛?我也沒想到他很坦白而且事業上公升期會交女朋友還光明正大給她寫歌表白。講真我...

js中 abc 和new String abc 有什麼區別啊?

刃舞 資料型別的區別,乙個是字串,乙個是物件 你能將 string 這種基本型別像物件一樣使用是因為 js 有基本包裝型別這個概念,運算時會為字串建立個 String 例項來運算,而字串本身不參與運算,但這個包裝的例項只在運算時存在,運算後就會被銷毀 之所以這麼做只是為了使用方便,語法糖,你不能因為...