vcpkg
1.0、参考
1.1、vcpkg简介
是什么 ?:C/C++ Package Manager
开发语言:C++
开发公司:Microsoft
源码仓库:https://github.com/microsoft/vcpkg
1.2、安装vcpkg

step0、如果您的系统是macOS10.14,请先检查/usr/include文件夹是否存在, 如果不存在,请执行如下的命令:

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

step1、安装依赖

下载时gitcURL
解压时targzipunzip
编译时POSIX shGNU CoreUtilsGCC ( gccg++ )   | LLVM / Clang
运行时
  • glibc ( libc.solibm.solibdl.solibpthread.sold-linux-x86-64.so )
  • GCC ( libstdc++.solibgcc_s.so )

step2、使用git下载vcpkg源码

git clone https://github.com/Microsoft/vcpkg.git

step3、进入vcpkg目录,并查看它的内容

step4、编译

./bootstrap-vcpkg.sh

step5、将vcpkg目录加入到PATH环境变量中

export PATH=~/vcpkg:$PATH
1.3、vcpkg命令
1.3.1、vcpkg search <query>

查询包。

示例:

vcpkg search json
1.3.2、vcpkg install <package[:architecture-triplet]>

安装指定的包。

可以通过vcpkg help triplet命令获得支持的architecture-triplet

如果没有指定:architecture-triplet,默认是安装x86 32bit程序。

示例:

vcpkg install cjson

vcpkg install cjson:x32-osx
vcpkg install cjson:x32-linux
vcpkg install cjson:x32-windows

vcpkg install cjson:x64-osx
vcpkg install cjson:x64-linux
vcpkg install cjson:x64-windows
1.3.3、vcpkg remove <package[:architecture-triplet]>

删除指定的包。

注意:只是删除了编译后的产物,并没有删除源码。

示例:

vcpkg remove cjson
1.3.4、vcpkg list [query]

列出已经安装的包。

1.3.5、vcpkg update

列出可以更新的包。这里的update改成outdated更好一些。

1.3.6、vcpkg upgrade

重新编译过期的包。

1.3.7、vcpkg help <topic>

查看某个topic的帮助。topic可以通过vcpkg help topics查看。

示例:

vcpkg help help
1.3.8、vcpkg integrate install

执行了此命令之后,再使用vcpkg install <package>安装包的时候,会把包安装在全局路径下, 这样就可以在多个项目中共享了。默认是安装在当前目录下的packages目录中。

1.3.9、vcpkg integrate remove

删除全局的标记,这样,再使用vcpkg install <package>安装包的时候,会把包安装在当前目录下的packages目录中。

1.3.10、vcpkg integrate bash

打开bash的自动提示。

1.3.11、vcpkg export <package[:architecture-triplet]> <option>...

将编译后的产物打包,以便做备份或者分享给其他人。

示例:

vcpkg export cjson:x64-windows --7zip
1.3.12、vcpkg import <FILE>

将用vcpkg export命令打包好的包导入

示例:

vcpkg import cjson-64-windows.7z