vcpkg - 方便的 C/C++ 库管理器
source link: https://aeilot.github.io/2020/08/13/vcpkg/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
vcpkg - 方便的 C/C++ 库管理器
最近在做一个大型的 C++ 项目 ── Albumist。它使用 Qt,需要用到很多类似 sqlite3
、exiv2
、libcurl
之类的库。第三方库管理似乎成了问题。
支持 git 的都可以使用 git submodule
来管理,但是还有少部分是不支持的,或者是二进制的,比如 sqlite3
。这就要我们手动去下载,手动去更新,好生麻烦。
vcpkg
我一直想要一个类似 npm
pip
一样的东西,把依赖写在文件里面,然后直接 install
即可。
经过搜索,我发现了微软的一个项目 vcpkg。官方定义它为 “C++ Library Manager for Windows, Linux, and MacOS”,简单翻译一下就是 “支持 Windows, Linux 和 macOS 的 C++ 库管理器”。
在 Arch Linux 上面,安装它并不复杂,只需要:sudo pacman -S vcpkg-git
即可。其他系统没有尝试过,跟着它的 README 也很方便安装。
“清单” 功能
在项目根目录创建一个 vcpkg.json
, 然后 vcpkg install
。这一功能就是 “清单” 功能。它正好是我想要的,可是却暂时处在 Beta 阶段,不过也无关紧要。
要启用 “清单” 功能,在执行命令时,需要接参数 --feature-flags = manifests
。
清单大概长这样:
{
"name": "<name of your project>",
"version-string": "<version of your project>",
"dependencies": [
"abseil",
"boost"
]
}
很方便,也很快捷。
比起这样一个纯粹的管理器,我更希望获得类似 Java 的 Gradle 的体验。如果 CMake 能加入类似功能,体验一定能够翻倍,快捷方便且无需第三方软件。
—- 2020 08 15 更新
又停止使用这个东西了,Windows 上面需要 MSVC。。。
- 本文作者: Louis Aeilot
- 本文链接: https://aeilot.github.io/2020/08/13/vcpkg/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK