vc第三方库辅助管理工具vcpkg的安装使用

c/c++

浏览数:532

2019-8-29

M$提供的c/c++第三方库集成工具:vcpkg

安装vcpkg很简单,直接从M$的git仓库:https://github.com/Microsoft/vcpkg.git 拉一下代码,然后编译就行了。

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

PS> .\bootstrap-vcpkg.bat //如果是windows系统,运行这个
Linux:~/$ ./bootstrap-vcpkg.sh //linux运行这个。

编译安装好后,进行全局安装,安装后,以后所有的通过vcpkg install的第三方库,都是全局的。所有vc ide 实例共享

PS> .\vcpkg integrate install
Linux:~/$ ./vcpkg integrate install

C:\Devtools\project\git\vcpkg>vcpkg integrate install
Applied user-wide integration for this vcpkg root.

All MSBuild C++ projects can now #include any installed libraries.
Linking will be handled automatically.
Installing new libraries will make them instantly available.

CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=C:/Devtools/project/git/vcpkg/scripts/buildsystems/vcpkg.cmake"

然后,如果想安装三方库,直接使用:

PS> .\vcpkg install ffmpeg

然后vcpkg就自动配置,下载,编译库文件。等他编译完毕后,都设置到了全局的vs ide中,你要做的就是直接#include 库的头文件就行了。再也不需要神马库依赖神马的麻烦事了。

#ifdef __cplusplus  
extern "C" {
#endif  

#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libavformat/avio.h>
#include <libavutil/file.h>

#ifdef __cplusplus  
}
#endif  

遥想不久之前要使用ffmpeg,自己下载代码,编译,配置,解决代码依赖。搞好几天都搞不完啊。现在vcpkg一键搞定。

PS>.\vcpkg list //这个命令可以列出已经安装的三方库。

.\vcpkg.exe search //这个命令可以列出vcpkg支持哪些三方库。

普普通通用用,这些就够了。

指定编译某种架构的程序库
如果不指定安装的架构,vcpkg默认把开源库编译成x86的Windows版本的库。那vcpkg总共支持多少种架构呢?我们可以使用如下命令便知:

.\vcpkg.exe help triplet
我们可以看到会列出如下清单:

arm-uwp
arm-windows
arm64-uwp
arm64-windows
x64-uwp
x64-windows-static
x64-windows
x86-uwp
x86-windows-static
x86-windows

这个清单以后随着版本的迭代还会再增加。vcpkg不仅支持x86架构,还支持arm架构。注意:这里的arm架构特指类似于surface这种运行在arm处理器上的Win10平台,而并非我们传统意义上的Linux或android的ARM平台。

那如果要安装编译某一个架构的开源库,我们该怎么写呢?我们只需要在需要安装的包后面指定相应的triplet即可。例如我们需要编译64位版本的jsoncpp,那么执行如下命令即可。

vcpkg install ffmpeg[gpl]:x86-windows-static

作者:毛毛v5