vcpkg基本使用
1. vcpkg安裝
將下列powershell代碼存成ps1文件,在目錄下shift右鍵->打開power shell窗口,運行腳本后vcpkg即安裝完成。
# 1. 創建目錄、下載vcpkg: mkdir -f D:/APPs cd D:/APPs # github # git clone https://github.com/microsoft/vcpkg # gitee git clone https://gitee.com/mirrors/vcpkg.git# 2. 安裝:運行vcpkg目錄下的 bootstrap-vcpkg.bat cd vcpkg ./bootstrap-vcpkg.bat# 3. 添加環境變量 setx VCPKG_ROOT $pwd將D:/APPs改為自己想要安裝的位置~
2. 使用vcpkg安裝的庫
2.1 Visual Studio
如果要在Visual Studio工程中使用vcpkg,需要運行:
vcpkg integrate install??????這樣的話,在VS的非CMake工程中可以直接#include<xxx>來引用已安裝的庫,不需要配置include/lib/dll文件。
這功能簡直太👍👍👍了!
建議使用vcpkg的話,直接創建VS工程,特別省心。
2.2 Visual Studio + CMake
如果在VS的CMake工程中使用,則需要打開CMake設置選項,將 vcpkg toolchain文件路徑設置賦值給 CMAKE_TOOLCHAIN_FILE。
CMAKE_TOOLCHAIN_FILE是一個命令行參數,通過在執行cmake命令時提供-DCMAKE_TOOLCHAIN_FILE=xxxPath,也可以在CMakeLists.txt中如下設置:
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake")可以參考官方文檔📖:CMAKE_TOOLCHAIN_FILE
如果還是找不到,嘗試在VS項目屬性頁,設置使用vcpkg:
2.3 Vs Code + CMake Tools
官方📖:將以下內容添加到 settings.json 中將使CMake Tools自動使用vcpkg中的第三方庫:
{"cmake.configureSettings": {"CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake"} }可以使用Ctrl+Shift+P輸入settings.json打開設置,然后添加上述內容,記得將[vcpkg root]換成自己的vcpkg.exe所在目錄。
但是實際使用遇到的問題不少,有需要再單獨研究記錄一下~
個人比較想實現windows+minGW+vcpkg的路線,總不太能?如意……
2. 使用vcpkg管理依賴庫
vcpkg安裝依賴庫的語法為:
# 默認安裝x86版本 vcpkg install libhv# 安裝x64版本 vcpkg install libhv:x64-windows# 或者這樣安裝x64版本 vcpkg install libhv --triplet=x64-windows可以使用 search 子命令來查找vcpkg中集成的庫,將給出所有相關結果:
PS E:\APPs> vcpkg search hv gazebo[graphviz] Enable model editor's schematic view graphviz 2.49.1#2 Graph Visualization Tools libhv 1.2.4#1 Libhv is a C/C++ network library similar to libevent/libuv. libhv[ssl] with openssl library libssh 0.9.6#2 libssh is a multiplatform C library implementing the SSHv2 protocol on cli... libssh[crypto] Default crypto backend libssh[mbedtls] Crypto support (mbedTLS) libssh[openssl] Crypto support (OpenSSL) libssh[zlib] libssh with zlib The result may be outdated. Run `git pull` to get the latest results.If your port is not listed, please open an issue at and/or consider making a pull request:https://github.com/Microsoft/vcpkg/issues如有錯誤 ? ,歡迎指正 ??~
如有收獲 🍗,點贊👍/評論💬/收藏??/關注👀~
總結
- 上一篇: SNMP弱口令导致的网络入侵
- 下一篇: 通过存储介质(例如 USB)传送项目到操