1. vcpkg windows 安装boost
安装vcpkg
git clone --recursive -v https://github.com/Microsoft/vcpkg.git
pushd vcpkg
call bootstrap-vcpkg.bat
echo vcpkg integrate remove
echo vcpkg integrate install
echo vcpkg integrate project
popd
安装boost
pushd vcpkg
::arm-uwp,arm-windows,arm64-uwp,arm64-windows,x64-linux,x64-osx,x64-uwp,x64-windows,x64-windows-static
vcpkg install boost:x64-windows-static
::vcpkg export boost:x64-windows-static --7zip
popd
cmake 编写
cmake_minimum_required(VERSION 3.8)
SET(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/../dmvcpkg/vcpkg/scripts/buildsystems/vcpkg.cmake")
PROJECT(dmspawn)
LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
INCLUDE(cmake/ModuleImport.cmake)
INCLUDE(cmake/ModuleCompileOptions.cmake)
ModuleSetCompileOptions()
ModuleSetWinCompilerFlags()
find_package(Boost COMPONENTS coroutine REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
ExeImport("test" "${Boost_LIBRARIES}")
cmake 构建命令行
vcpkg install boost:x64-windows-static
rmdir /S /Q build
mkdir build
pushd build
cmake -A x64 -DCMAKE_BUILD_TYPE=relwithdebinfo -DVCPKG_TARGET_TRIPLET=x64-windows-static ..
cmake --build . --config relwithdebinfo -- /m:%NUMBER_OF_PROCESSORS%
popd
手动下载源 例如: https://www.libsdl.org/release/SDL2-2.0.14.tar.gz 下载后copy到vckpkg的downloads目录即可 再启动安装脚本.
2. 命令-说明
vcpkg search [pat]
查询当前版本的vcpkg是否支持名字包含所提供的字符串的库。
此命令有一个可选参数:–x-full-desc,这个参数的作用是确保即使库的描述字段过长,也不会被自动的截断
vcpkg install
安装一个库,此命令有多个可选参数,详情请参考:Install命令
vcpkg remove
卸载一个已安装的库,此命令有5个可选参数:
–purge 同时卸载库的缓存文件,此参数为默认参数
–no-purge 不卸载库的缓存文件,此参数已被遗弃
–recurse 允许卸载未在命令行上明确指定的包
–dry-run 仅显示将被卸载的包,而不执行具体的卸载操作
–outdated 显示将会被卸载的过期的库,但不执行卸载操作,若要执行卸载操作,需要额外添加 –recurse参数
vcpkg list
列出当前vcpkg上已安装的库,此命令有两个可选参数:
–x-full-desc 确保即使库的描述字段过长,也不会被自动的截断 –x-json 以json格式显示安装的库
vcpkg update
显示需要更新的库的列表
vcpkg upgrade
显示需要重新安装的过期库的列表,此命令有两个可选参数:
–no-dry-run 执行具体的安装命令
–keep-going 此参数需和参数–no-dry-run 一同使用,其作用是保证所有过期的库都完成安装,即使中间有某一个库安装失败,整个安装过程也不会立刻停止,而是继续安装下一个库
vcpkg hash
用特定算法对文件进行哈希,默认为SHA512
vcpkg help topics
显示帮助主题的列表,目前可用的主题如下:
Binarycaching,assetcaching,create,depend-info,edit,env,export,help,install,integrate,list,owns,remove,search,topics,triplet,versioning
vcpkg help
显示特定主题的帮助信息
vcpkg integrate install
使已安装的软件包在整个用户中可用,第一次使用时需要管理员权限
vcpkg integrate remove
删除用户范围内的集成
vcpkg integrate project
生成一个nuget包,供单个VS项目使用
vcpkg integrate powershell
启用PowerShell的标签完成功能
vcpkg export
导出一个库,此命令有多个可选参数,详情请参考:Export 命令
vcpkg edit
使用编辑器打开一个库进行编辑,此命令有两个可选参数:
–buildtrees 打开编辑器进入特定库的buildtree子文件夹
–all 打开编辑器进入库以及库专用的buildtree 子文件夹使用哪个编辑器是由%EDITOR%这个变量决定的,它的默认值为”code”,表示此命令打开的编辑器默认为VS code,若未安装VS code,则命令不工作
vcpkg create
在vcpkg中为一个新的库创建相关的文件,此命令需要3个参数:
新库的名称 库的名称不能和已有的库重名
库文件的下载路径 下载路径必须是可用的链接
压缩包的名称 压缩包的名称是自定义的
执行此命令后,会在.\vcpkg\ports文件夹下创建一个以库名称命名的文件夹,其中包含vcpkg.json文件和portfile.cmake文件
vcpkg owns
在.\vcpkg\installed文件夹下查找包含所提供字符串的文件
vcpkg depend-info
显示库的依赖项列表,此命令有5个可选参数:
–dot 在点的基础上创建图形
–dgml 在dgml的基础上创建图形
–show-depth 在输出中显示递归深度
–max-recurse=… 设置最大递归深度,值为-1表示没有限制
–sort=… 设置依赖关系列表的排序顺序,可接受的值是:lexicographical,reverse,topological(默认)
vcpkg env
为开发或编译创建一个干净的cmd环境,此命令有5个可选参数:
–bin 添加installed/x86-windows/bin/的路径到PATH环境变量
–include 添加installed/x86-windows/include/的路径到INCLUDE环境变量
–debug-bin 添加installed/x86-windows/debug/bin/的路径到PATH环境变量
–tools 添加installed/x86-windows/tools/的路径到PATH环境变量
–python 添加installed/x86-windows/python的路径到PYTHONPATH环境变量
vcpkg version
显示vcpkg的版本信息
vcpkg contact
显示vcpkg团队的联系方式以供用户提供反馈
此命令有一个可选参数:–survey, 其作用是启动默认浏览器到当前的vcpkg survey页面,但是目前执行此命令后仅仅只是得到一个提示信息, 而不是打开默认浏览器
vcpkg x-init-registry
在
给一个registry仓库添加了一个readme文件和license文件
vcpkg x-history
显示目标库在vcpkg上的历史