前言:
其实,在上一期博文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环境参数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。