2018-2-27 更新
Vcpkg 版本更新速度很快。看来这次微软是下了血本了。每次更新版本的时候都会增加一些C++库。这次更新的亮点是可以手动配置需要安装的库。比如说 vcpkg install opencv[cuda]:x64-windows 。这样就会安装好具有Cuda加速的opencv 库。但是由于Vs2017 更新的尿性,Cuda 9.0 会编译不通过,而Cuda 9.1 貌似又会和opencv 3.4 一些代码不兼容,所以可行的方法是降低Vs 2017 的小版本号。
以后应该会增加更多的定制的功能,这样的话,Windows下安装包的过程看来要比Ubuntu下牛逼很多了。
2018-1-15 更新
Vcpkg 中很有用的export 功能,可以将编译好的包打包出来,有nuget格式和zip格式
我们一般使用7zip 格式,这样如果有多台机器,就可以用主力机型编译,其他机型直接拷贝运行就行
解压之后的目录结构
使用方法:
To use the exported libraries in CMake projects use:
"-DCMAKE_TOOLCHAIN_FILE=[...]/scripts/buildsystems/vcpkg.cmake"
"-DCMAKE_TOOLCHAIN_FILE=[...]/scripts/buildsystems/vcpkg.cmake"
目前vcpkg 已经更新到了1.0 的版本,基本上常用的C++库都能正确进行安装和配置,并且微软官方给出了开源Cmake 代码一键配置代码,并且给出了配置相应C++库的Cmakelists 语句,所以我们很方便的配置好开源C++代码,这样对于我们需要快速查看已有代码结果和框架,给出了非常好的解决方案。想当年配置一个的开源C++代码,前前后后学习Cmake配置和语法下了不少功夫。微软现在这个对于C++库的解决方法确实值得赞赏,并且从源码安装,根据现有VC++的版本,不会造成库的不匹配。同时,也可以对于特定项目生成nuget 包,然后直接将特定的C++项目添加相应的配置文件即可。也很方便。
同时,vcpkg 官方github一直在更新,我们可以用最简单的git 命令就可以选择我们要进行更新的软件包。
如果需要安装不同的库版本,官方给出的方法是在硬盘的不同地方再创建一个vcpkg的目录,然后用git 命令返回到之前的vcpkg 分支,进行安装。这种方法不是太好,不过对于对版本有特殊需求的用户确实是一件很好的解决方案。
--2017-11-27 更新
写在前面,如果要论现在的Windows和Linux下的开发而言,除了Linux下极为方便的包管理器,我觉得Windows下的开发完全可以由Visual Studio 统领。如今,Visual Studio 已经开发到了2017版本,配合着nvme固态硬盘,能够实现很大项目的瞬间打开,比2015 快了几个量级。并且安装方式也比2015版本 有了很大的改变,摆脱了以前安装巨慢的形象,并且可以分模块安装。
Vcpkg 是Windows平台下一个很优秀的C++包管理器。可以很大程度上代替对Linux系统包管理器的依赖。但是自从更新完硬盘,重新用vcpkg安装的时候,一直出错。后来搁置了一段时间,今天又重新摆弄了一下,终于没有大问题了。在安装zlib 库时候一直报错。并且很多库都依赖zlib 所以很多C++库就安装不上了。
VCPKG 机理分析,通过自动脚本下载相应软件的源码包,
原因分析:在安装visual studio 2017的时候,一定要将C++ 的部分都选择全了,还有Windows SDK 的部分,Win 8 的也选上。