Vcpkg 的安裝與使用筆記
Vcpkg 的安裝與使用筆記
Section titled “Vcpkg 的安裝與使用筆記”-
將 Vcpkg 的程式碼 clone 到你準備的目錄下(不需要放在專案內,可以多數專案共用)
git clone https://github.com/microsoft/vcpkg.git -
執行 vcpkg 下的設定 shell script
./bootstrap-vcpkg.sh這一步會在目錄下產生一個 vcpkg 的執行 script,用於 vcpkg 的安裝、查詢等工具,但與 CMake 整合之後,不會直接用到這個工具。
整合進 CMake
Section titled “整合進 CMake”-
在目錄下新增檔案 CMakeUserPresets.cmake,並在裡面加入下列內容:
{"version": 2,"configurePresets": [{"name": "default","inherits": "vcpkg","environment": {"VCPKG_ROOT": "${sourceDir}/../vcpkg"}}]}- name 是 CMake 的 preset 名稱,這裡我們用 default 為例子。
- VCPKG_ROOT 是前面 vcpkg 的 git clone 路徑,這裡我用專案相對路徑。
-
在目錄下新增 CMakePresets.json,並在裡面加入下列內容:
{"version": 2,"configurePresets": [{"name": "vcpkg","generator": "Unix Makefiles","binaryDir": "${sourceDir}/build","cacheVariables": {"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"}}]}- generator 是 CMake 的 generator 名稱,這裡我們用 Unix Makefiles 為例子。
- CMAKE_TOOLCHAIN_FILE 是 CMake 整合 vcpkg 的關鍵,這裡我們用 CMakeUserPresets 設定的 VCPKG_ROOT 作為 base。
-
在目錄下新增 vcpkg.json,並在裡面加入下列內容:
{"dependencies": ["openssl","protobuf"...]}裡面設定你專案需要引用的套件,這樣在執行 CMake 的時候就會自動安裝這些套件。
-
設定好 CMakeList.txt 後,例如我習慣建立一個 build 目錄作為編譯目錄,我就會執行以下命令:
madir buildcd buildcmake --preset=default ../Makefile 會自動產生在 build 目錄下,然後就可以編譯了。
- vcpkg 安裝的套件會在 build 目錄下的 vcpkg_installed 目錄下。
Copyright © 2026 Mikimoto.