看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《XAMDOU (薩姆德)》之銘言: : 最近在看 c++ 的 package management framework : 有看到一套 conan: https://conan.io/ : 搜尋一下資料感覺還是懵懵懂懂 : 各位大大有推薦的學習資源嗎? : 或是有沒有任何一些好/壞心得分享? : 感謝各位大大! 原本 C (和 C++) 沒有什麼套件的概念 在類 Unix 系統上就是直接用標頭檔和函式庫 (動態或靜態) 頂多 Windows 上多個 .lib 來儲存公開介面相關的資訊 許多類 Unix 系統會額外包裝這些 C (或 C++) 函式庫 使用起來的感覺和其他現代語言的套件差不多 但骨子裡其實還是使用標頭檔和函式庫 只是管理上比較方便 由於 C (和 C++) 沒有規範套件的格式 基本上就是每個系統各自做自已的輪子 而且還互不相通 另外,C (和 C++) 要從原始碼編譯 不像 Java 那樣以虛擬機器將系統抽象化 現行的做法是每個系統先預先編好原始碼,以 binary 形式發布 另外一種做法是將編譯的流程自動化,像 Homebrew 回到一開始提的 conan,這套軟體基本上就是綜合考慮以下兩件事而成的産物 - 編譯自動化 (build automation) - 軟體套件系統 (package management system) 因為要考慮和現行軟體專案接軌,所以看起來比較複雜 但小弟還沒有機會玩 conan,或許其他板友會有心得 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.71.94.20 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1528962448.A.5AC.html ※ 編輯: Neisseria (203.71.94.20), 06/14/2018 15:54:28
windows2k: 可以看看vcpkg 06/14 17:17
有耳聞過,還沒實際去試 最近微軟又重新注重 C++ 了,可惜對 C 還是老樣子
KanzakiHAria: 早期的語言沒有套件管理的概念 所以很多是靠unix系 06/14 19:50
KanzakiHAria: 的套件管理員去拉靜態動態函式庫 06/14 19:50
KanzakiHAria: 也因為沒有套件管理的概念 版本這件事一直是大問題 06/14 19:51
KanzakiHAria: 比較好的會寫cmake去綁定版本 06/14 19:51
KanzakiHAria: 光是不同套件就有不同的flag需求 06/14 19:52
KanzakiHAria: 就算有版本管理其實也不夠用 06/14 19:53
KanzakiHAria: 更別說三家編譯器行為和flag不一樣之外 不同系統 06/14 19:56
KanzakiHAria: 環境還會影響 #define 的程式區間 06/14 19:57
KanzakiHAria: 對我這個廢物C++開發者而言conan超沒用qq 06/14 19:57
KanzakiHAria: learning框架遇到不同的顯卡 不同的cuda driver 06/14 20:01
KanzakiHAria: 大部分的時候還是要拉source去重新編成自己的環境 06/14 20:02
這的確是從原始碼編譯的好處,比較靈活
XAMDOU: 我的經驗也是自己去抓source跟著README把東西編起來 06/14 21:13
XAMDOU: 看到conan很期待可以有更方便的作法,不知道是不是我想像的 06/14 21:14
不知道大大用什麼系統? 這在類 Unix 系統上其實已經部分有解了,只是 Windows 上起步較慢 如果連編譯參數都要客製的話,我想大概和自己編差不多複雜 ※ 編輯: Neisseria (112.104.98.153), 06/14/2018 23:38:35
XAMDOU: 我不是什麼大大 >_< 我常用的平台是 linux 和 mac 06/15 09:04
XAMDOU: IDE用CLion,最近才注意到CLion有支援cmake/conan很感興趣 06/15 09:05