在写games101的作业时,不想用虚拟机,要自己配置环境,需要装eigen3、opencv两个库。
得知有vcpkg这么个好东西,就想着试试。
1、下载vcpkg:

https://github.com/microsoft/vcpkg

2、编译vcpkg:
用powershell编译bootstrap-vcpkg.bat

./bootstrap-vcpkg.bat

完成后可以执行下面的命令看是否安装好

\vcpkg.exe list

下面的命令可以看都有哪些库可以安装

\vcpkg.exe search

3、针对不同的IDE配置vcpkg环境

配置环境

4、安装库

.\vcpkg.exe install eigen3:x64-windows
.\vcpkg.exe integrate install  //集成到全局

vcpkg的使用可以参考VCPKG的使用
5、可能会出现的一些问题
问题1:

vcpkg was unable to detect the active compiler's information. See above for the CMake failure output

解决方法:打开vcpkg/scripts/buildsystems/vcpkg.cmake这个文件在第24行添加两行代码
SET (CMAKE_C_COMPILER_WORKS 1)
SET (CMAKE_CXX_COMPILER_WORKS 1)

问题2:
可能会出现网络的问题,如果不能科学上网,下载会很慢甚至失败。可以找到这样的链接,自行下载后放到\vcpkg-master\downloads\目录下(务必要改为\vcpkg-master\downloads\temp同名,同文件夹配置!)。
所以
问题3:用powershell安装库可能会出现没有配置好powershell的问题,这个我也没有解决,直接改用cmd了。

问题4:算是个小插曲,安装好eigen3后,要在vs中再进行设置。
vs中的解决方案平台一定要设置:
项目 -> 属性 -> C/C++ -> 语音 -> C++语言标准:选择c++17。
因为代码中有使用std::optional这个特性,这个特性是c++17中才有的,这个坑反应了好久才找到原因。
改完之后发现使用默认的x86设置,std::optional依然会报错,所以选了x64之后,环境就彻底配好了。所以对应的库也要安装64位的。

总结

在安装时,如果出现错误,要根据cmd的提示看错误日志,排查错误。而且可能要对下载的库进行相应的设置。
所以可见vcpkg还是不能一劳永逸的,不过已经方便许多了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐