【C++基础】【集成编译环境04】Visual Station 2022 项目集成【2】 Opencv 的库的项目集成和遇到的坑

前言:

其实,在上一期博文VS2022的【集成编译环境03】设定里面,我们已经搞定了PCL这个难的开源库,至此,没雨搞不定的开源项目。所以,对Opencv这种小鸟,应该完全没有压力,但是,还是有一点不同,难点不多,思来想去,还是决定水一期,方便大家查阅、


问题:

直接上问题吧:

问题1,头文件找不到

这个问题,上一节里面遇到的一样,看来PCL过了,其他没有难度,这个就是VS 设定目录要走上一级这个思路,

在这里插入图片描述

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C1083 无法打开包括文件: “opencv2/opencv.hpp”: No such file or directory PointCloudDemo D:\BaiduNetdiskWorkspace\DimensionXworks\3Dcamera\CloudPiontDemo\PointCloudDemo\PointCloudDemo.cpp 25

比如:找不到opencv2/opencv.hpp,这个文件,那么我们在项目属性里面,设定到他的上一级目录就可以了。

在这里插入图片描述

问题2 链接错误

2.1 由于编译器版本的选择错误

这个问题对在VS中编译,有一般性,由于Opencv的预编译包,目前x64下有,支持vc14,vc15的,我理解,
vc14应该对应VS2019,vc15应该对应VS2022,
【案,这个和VS里面的设定定义名字有点冲突啊,我贴给大家看看】

在这里插入图片描述


微软人家是v143,v142,分别对应2022,2019两个版本,所以,这个版本选择上,这里有点困惑。
【不管怎么样,Opencv @ vs2022,咱们用vc15】

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 “void __cdecl cv::Rodrigues(class cv::debug_build_guard::_InputArray const &,class cv::debug_build_guard::_OutputArray const &,class cv::debug_build_guard::_OutputArray const &)” (?Rodrigues@cv@@YAXAEBV_InputArray@debug_build_guard@1@AEBV_OutputArray@31@1@Z),函数 “int __cdecl calibr_camera_calibration(class std::basic_string<char,struct std::char_traits,class std::allocator >,class std::basic_string<char,struct std::char_traits,class std::allocator >)” (?calibr_camera_calibration@@YAHV? b a s i c s t r i n g @ D U ? basic_string@DU? basicstring@DU?char_traits@D@std@@V?$allocator@D@2@@std@@0@Z) 中引用了该符号 PointCloudDemo D:\BaiduNetdiskWorkspace\DimensionXworks\3Dcamera\CloudPiontDemo\PointCloudDemo\PointCloudDemo.obj 1

在这里插入图片描述

在这里插入图片描述

其他

其他好像没啥难点

1 记得opencv_world460d

如果dubug,版本要选择d这个库添加的,链接\输入\附加依赖项里面

在这里插入图片描述

2 其他遇到的一些问题:

需要添加Json库的话,

在这里插入图片描述

在这里插入图片描述

参考

VS2022永久配置OpenCV开发环境
VS2022下安装和配置OpenCV环境参数

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...