OpenCV:windows下链接或运行时出现的问题

本文介绍了解决在使用OpenCV时遇到的常见问题,包括链接时出现的未解析外部符号错误、运行时丢失opencv_world340.dll及VideoCapture打开视频失败等问题,并提供了详细的解决步骤。
摘要由CSDN通过智能技术生成
1. 链接时出现"无法解析的外部符号"

1>Histogram1D.obj : error LNK2019: 无法解析的外部符号 “public: __thiscall cv::_InputArray::_InputArray(class cv::Mat const &)” (??0_InputArray@cv@@QAE@ABVMat@1@@Z),该符号在函数 “public: class cv::Mat __thiscall Histogram1D::getHistogram(class cv::Mat const &)” (?getHistogram@Histogram1D@@QAE?AVMat@cv@@ABV23@@Z) 中被引用
1>Histogram1D.obj : error LNK2019: 无法解析的外部符号 “public: __thiscall cv::_OutputArray::_OutputArray(class cv::Mat &)” (??0_OutputArray@cv@@QAE@AAVMat@1@@Z),该符号在函数 “public: class cv::Mat __thiscall Histogram1D::getHistogram(class cv::Mat const &)” (?getHistogram@Histogram1D@@QAE?AVMat@cv@@ABV23@@Z) 中被引用
1>Histogram1D.obj : error LNK2019: 无法解析的外部符号 “public: void __thiscall cv::Mat::copySize(class cv::Mat const &)” (?copySize@Mat@cv@@QAEXABV12@@Z),该符号在函数 “public: __thiscall cv::Mat::Mat(class cv::Mat const &)” (??0Mat@cv@@QAE@ABV01@@Z) 中被引用
1>Histogram1D.obj : error LNK2019: 无法解析的外部符号 “int __cdecl cv::_interlockedExchangeAdd(int *,int)” (?_interlockedExchangeAdd@cv@@YAHPAHH@Z),该符号在函数 “public: __thiscall cv::Mat::Mat(class cv::Mat const &)” (??0Mat@cv@@QAE@ABV01@@Z) 中被引用
1>main.obj : error LNK2001: 无法解析的外部符号 “int __cdecl cv::_interlockedExchangeAdd(int *,int)” (?_interlockedExchangeAdd@cv@@YAHPAHH@Z)
解决方法
把包含opencv_world340.dll的目录添加到环境变量Path中,如我的目录:C:\opencv\opencv\build\x64\vc15\bin

2.运行时出现"无法启动此程序,因为此计算机中丢失opencv_world340.dll"
解决方法
将前边bin目录(C:\opencv\opencv\build\x64\vc15\bin)中的3个dll文件复制到C:\Windows\System32或者C:\Windows\SysWOW64中。(测试时发现必须复制到C:\Windows\System32中才有效)

3.VideoCapture打开视频失败
换了好几个opencv都打开视频失败,但也不报错,后来才发现是少了一个dll
解决办法:
opencv_ffmpeg330_64.dll复到制C:\Windows\System32中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值