注意事项:
opencv最好使用旧版本,新版本会有bug,踩坑了好久
debug和release调试要分清楚,不同模式导入不同
opencv配置可以参考这篇文章,写的很详细
(13条消息) VS2022永久配置OpenCV开发环境_我裂裂裂开了的博客-CSDN博客_vs配置opencv环境
包含目录和库目录
![](https://img-blog.csdnimg.cn/img_convert/32a7636bf4620cb3e591e2681ccdc3e5.png)
链接器输入附件依赖项:
![](https://img-blog.csdnimg.cn/img_convert/70c1a832cba1df16e37343cc9768f2f4.png)
注意release不加d,debug是加d的lib
配置好一个项目属性后其他项目可以直接复制该项目的属性,减少很多工作量
![](https://img-blog.csdnimg.cn/img_convert/2e457ec6cc1bfe3cb65ac9b89e22570f.png)
项目opencv1是我自己写的,在LibEncoder中调用了opencv中的函数,我在opencv1项目和LibEncoder中都导入了opencv配置,但是发现还是有以下问题:
error LNK2019: 无法解析的外部符号 “void __cdecl cv::fastFree(void *)” (?fastFree@cv@@YAXPAX@Z),该符号在函数 “public: __thiscall cv::Mat::~Mat(void)” (??1Mat@cv@@QAE@XZ) 中被引用
出现上述问题的原因主要是:
1配置出错,检查环境变量,是不是debug和release配置出错,例如lib文件是不是加了d
2检查配置文件,每一个文件的配置属性都检查一遍
3在TAppEncoder项目中也导入opencv配置,原因我也不清楚,但确实成功了