【vcpkg】安装与使用
【vcpkg】安装与使用
安装
mkdir /path/to/vcpkg_dir
cd /path/to/vcpkg_dir
git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.bat
更新 vcpkg
cd /path/to/vcpkg_dir/vcpkg
git pull
卸载 vcpkg
若要卸载 vcpkg,只需删除 vcpkg 目录。 删除此目录会卸载 vcpkg 分发以及 vcpkg 已安装的所有库。
但是,如果已执行 vcpkg integrate install,则应执行 vcpkg integrate remove 来确保在删除文件夹之前已清理集成 。
使用
命令
| Command | 描述 | 
|---|---|
| vcpkg search [pat] | 搜索可安装的包 | 
| vcpkg install <pkg>... | 安装包 | 
| vcpkg remove <pkg>... | 卸载包 | 
| vcpkg remove --outdated | 卸载所有过期包 | 
| vcpkg list | 列出已安装的包 | 
| vcpkg update | 显示用于更新的包列表 | 
| vcpkg upgrade | 重新生成所有过期包 | 
| vcpkg hash <file> [alg] | 通过特定算法对文件执行哈希操作,默认为 SHA512 | 
| vcpkg integrate install | 使已安装包在用户范围内可用。 首次使用时需要管理权限 | 
| vcpkg integrate remove | 删除用户范围的集成 | 
| vcpkg integrate project | 为使用单个 VS 项目生成引用 NuGet 包 | 
| vcpkg export <pkg>... [opt]... | 导出包 | 
| vcpkg edit <pkg> | 打开端口进行编辑(使用 %EDITOR%,默认为“code”) | 
| vcpkg create <pkg> <url> [archivename] | 创建新程序包 | 
| vcpkg cache | 列出缓存的已编译包 | 
| vcpkg version | 显示版本信息 | 
| vcpkg contact --survey | 显示联系信息,以便发送反馈。 | 
| vcpkg help triplet | 查看支持平台 | 
选项
| 选项 | 描述 | 
|---|---|
| --triplet <t> | 指定目标体系结构三元组。 (默认: %VCPKG_DEFAULT_TRIPLET%,另请参阅vcpkg help triplet) | 
| --vcpkg-root <path> | 指定 vcpkg 根目录(默认: %VCPKG_ROOT%) | 
集成vcpkg
cd /path/to/vcpkg_dir/vcpkg
./vcpkg integrate install
输出
PS E:\repos\VC\vcpkg> vcpkg integrate install
Applied user-wide integration for this vcpkg root.
CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=E:/repos/VC/vcpkg/scripts/buildsystems/vcpkg.cmake"
All MSBuild C++ projects can now #include any installed libraries. Linking will be handled automatically. Installing new libraries will make them instantly available.
删除 vcpkg 集成
cd /path/to/vcpkg_dir/vcpkg
./vcpkg integrate remove
单独使用 CMake, 不使用 VS
环境变量
# 为了方便使用可以建立一些环境变量
# vcpkg 的安装目录
VCPKG_ROOT = /path/to/vcpkg
# vcpkg 集成后的工具链
VCPKG_TOOLCHAIN_FILE = %VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake
# 指定默认安装平台
VCPKG_DEFAULT_TRIPLET = x64-windows
cmakelists.txt 配置
# 集成 vcpkg 后在 project() 之前添加
# 如果使用 VS ,就不需要添加
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_TOOLCHAIN_FILE}" CACHE STRING "")
...
project(...)
...
示例
安装 jsoncpp
# 使用指令:vcpkg help triplet 可以看到都支持什么平台。
vcpkg help triplet
# 下载某一个平台的包(未指定默认)
vcpkg install jsoncpp:x64-windows
# 下载某一个平台的包(指定默认)
vcpkg install jsoncpp
# 删除库
vcpkg remove jsoncpp
# 注意:
# 这个时候只是移除了默认的x86-winodws版本的文件,如果有其他平台的版本需要移除,需要制定相应的triplet
升级包
# 列出需要升级的包
vcpkg upgrade 
# 执行升级操作
vcpkg upgrade --no-dry-run
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号