vcpkg安装及使用
1. 安装
内容复制自官方文档
首先,请下载vcpkg并执行 bootstrap.bat 脚本。
它可以安装在任何地方,但是通常我们建议您使用 vcpkg 作为 CMake 项目的子模块,并将其全局安装到 Visual Studio 项目中。我们建议您使用例如 C:\src\vcpkg
或 C:\dev\vcpkg
的安装目录,否则您可能遇到某些库构建系统的路径问题。
> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat
2. 搜索库
> .\vcpkg\vcpkg search [search term]
示例
输入 .\vcpkg search opencv
可以获得所有支持的包含opencv列表,很惊喜的发现竟然有darknet
3. 安装库
安装库是最简单也是最麻烦的地方,简单在一条命令就行,复杂在由于众所周知的网络原因,很多东西下载速度到了令人发指的地步。所以搞了一下午没搞定,通过慢慢摸索,还装到了晚上10点多。
.\vcpkg\vcpkg install [packages to install]
示例
由于我已经安装过了opencv,所以换一个示例,参考官方文档,实现sqlite的安装。
PS D:\vcpkg> .\vcpkg search sqlite
dlib[sqlite3] sqlite3 support for dlib
libodb-sqlite 2.4.0#7 Sqlite support for the ODB ORM library
libspatialite 5.0.0 SpatiaLite is an open source library intended to extend the SQLite core to sup...
.....这里还有很多.....
sqlitecpp[sqlite] Use the (unofficial) sqlite3 port of vcpkg
sqlpp11-connector... 0.30 A C++ wrapper for sqlite3 meant to be used in combination with sqlpp11.
wt[sqlite3] Wt::Dbo Sqlite 3 backend
If your library is not listed, please open an issue at and/or consider making a pull request:
https://github.com/Microsoft/vcpkg/issues
在上述输出的列表中,查找所需版本,执行安装命令
.\vcpkg install sqlite3
如果网速比较好的话,正常情况下在执行完【1】 命令后,经过一段时间的环境检查,会在【2】链接中下载对应的文件并重命名为【3】,存放位置在【4】的位置,保存名称为【5】(这里和【3】相同)。但是由于种种原因,这个下载可能会非常非常非常非常的慢,而且比如opencv完整下载80M多,中间还会断掉好几次,显然这样是无法接受的,我就卡在这里好久,而且问题是即使单独拿出来还是下载很慢下一张图说解决方案。
通过上述的步骤以后可以发现,他是在网上进行下载的,而且链接已经给我们输出了,那么我们可以想别的办法手动进行下载。
注意: 文件名称要和上述步骤中【3】是一样的,必要时要重命名
再执行一次安装命令,其就会直接使用下载好的那个文件进行解压缩等操作之后进行安装
之后执行 .\vcpkg list
命令可以看到安装成功
4. 集成到visual studio中
vcpkg支持集成到各种环境中(主要是cmake),当然vs是必须支持的
在管理员权限状态打开powershell,然后执行 .\vcpkg integrate install
就可以了,配置好后,在vs中引用所需头文件时,不再需要配置包含目录、库目录等。
5. 其他问题
默认情况下,使用vcpkg安装的好像都是x86架构的包,这里我们可以通过在包名后添加 :x64-windows
更改,如:
.\vcpkg install sqlite:x64-windows