看板 C_and_CPP 關於我們 聯絡資訊
-------------------------- 0.更新之處 -------------------------- 2020.1.5 01:34 首次發文 -------------------------- 1.前言 -------------------------- 趁著當兵這個假日的空閒, 來發這篇文好了XD 本專案是玩票性質, 但因為小弟我想學東西, 內容有誤還麻煩各位大大指正! 有問題也可以在下方留言 -------------------------- 2.動機 -------------------------- 寫過C/C++以外的語言的人應該都知道 python有pip rust有cargo js有nodejs ... 等等。 C/C++好像沒有這樣好用的 跨平台(OS/HW)雲端化的套件管理器 vcpkg也是我最近發現有此功能的工具之一 (雖然好像2016就有了QQ) 搭配CMake的find_package() 可以使整個專安有類似dependencies的功能 vcpkg收錄了不少好用常見的C++ API opencv, opencl等都有。 它會在git-reposity抓下專案的src, 再進行編譯, 所以請事先架好一些編譯環境 (MSVC GNU-GCC等) vcpkg安裝目錄裡, 有自己的一套路徑, 很像Linux中usr的 bin, include, lib ...等等 cmake -DCMAKE_TOOLCHAIN_FILE=C:/SDKs/vcpkg/scripts/buildsystems/vcpkg.cmake . 上面這個指令, 會自動處理include, lib 也就是說在CMakelists.txt中基本上只要 find_package()這指令就夠了 不用因電腦不同而重新更改include_path、link_path..等等那些有的沒的 (這點很像Linux的/usr) 這也是vcpkg強大的地方之一 只要確認任bin東西已經在環境變數path裡面 Link也不會有問題了 -------------------------- 3.目的 -------------------------- 以Vcpkg作為套件管理器, 以CMake取代QMake, (QMake我還沒找到能簡單直接嵌入vcpkg的方法 QQ) 並可成功建置QML專案(完全不需要去載QtCreator那些套件), Linux和Win都可以編譯。 -------------------------- 4.專案碼與進度 -------------------------- 檔案在此 https://bitbucket.org/dzwei/vcpkg_cmake_qtqml 目前進度: Win10可以建置 Linux有空再嘗試 (本身用Arch, AUR已經夠好用了XD 所以之後會找時間再試試) -------------------------- 5.建置說明 -------------------------- 大部分再readme.md有說的清楚了(應該吧?!) 所以我提示幾個重點: 0.確保網路穩定 1.vs2019要先安裝,ATL&MFC也要裝好 2.初次安裝vcpkg,要以系統管理員的身分, 在win下建議使用powershell 3.記得檢查: C:\SDKs\vcpkg\installed\x64-windows\bin C:\SDKs\vcpkg\installed\x64-windows\debug\bin (4的,我把vcpkg安裝在C:\SDKs) 是否有在,Path裡面 我曾經因為這樣(第二行那個沒在環境變數Path裡面), de半個早上bug才發現這件事QQ -------------------------- 6.已知問題(我碰到的) -------------------------- 安裝Qt5的時候, 使用vcpkg在win10下安裝Qt-speech:x64_windows 會無法安裝, 已通報issue給vcpkg帶解答, 目前這樣是不影響本例題。 -------------------------- 寫在最後(工商時間) -------------------------- 最近發現,如果習慣C++的人 可能會喜歡Rust而不是Go 原因就給大家去餵狗吧XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.16.146 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1578159273.A.A24.html ※ 編輯: dzwei (123.194.16.146 臺灣), 01/05/2020 01:53:20 ※ 編輯: dzwei (42.76.131.148 臺灣), 01/05/2020 02:06:56
plsmaop: go 有 GC 啊,rust 沒有啊 01/05 13:22
阿對 我忘了補上去XD Rust內建的cargo我覺得不差壓 ※ 編輯: dzwei (123.194.16.146 臺灣), 01/05/2020 13:48:44
vm0: 還有conan,最近gitlab也有採用 01/05 14:11
謝謝大大提供一個不錯的選擇 ※ 編輯: dzwei (123.194.16.146 臺灣), 01/05/2020 14:25:48