vcpkgopencv49includeopencv2opencvhppincludeopencv2corehpp_0">使用vcpkg安装opencv>=4.9后#include<opencv2/opencv.hpp>#include<opencv2/core.hpp>无效\无法查找或打开
至少从2024年开始,发布的vcpkg默认安装的opencv版本都是4.x版。4.8版本及以前,vcpkg编译后的opencv头文件目录是*/vcpkg/x64-windows/installed/
。然而自4.9版本开始,编译、安装后的opencv头文件目录不再是*/vcpkg/x64-windows/installed/
,而是*/vcpkg/x64-windows/installed/opencv4
。如果在VS工程中不额外配置包含路径,会导致编译器就会找不到opencv2/core.hpp,进而报错,如下图所示:
解决方法
在VS的属性-C/C+±附加包含目录中添加新的opencv路径:$(VcPkgRoot)\installed\$(VcPkgTriplet)\include\opencv4;
如图所示:
然后再次生成,即可找到opencv的头文件。
多说一句
$(VcPkgRoot)\installed\$(VcPkgTriplet)\include
目录是vcpkg的默认头文件安装目录,也是集成到VS后自动查找头文件的目录,不需要用户配置。
$(VcPkgRoot)\installed\$(VcPkgTriplet)\include\opencv4
是它的子目录,是opencv4特有的,需要用户手动添加到附加包含路径。
参见Github Issue