OpenCV-错误C2244 我目前在远离我的桌面的假期,但是我想练习我的C++,特别是OpenCV,所以我带了笔记本电脑。考虑到时间和家庭的限制,我并没有在飞行前把图书馆的一切都安排好
我已经设置了VS2010的所有内容,就像我记得不久前在我的桌面上所做的那样,但是在openCV网站上编译测试示例时(http://opencv.willowgarage.com/wiki/VisualC%2B%2B)我收到以下错误:OpenCV-错误C2244 我目前在远离我的桌面的假期,但是我想练习我的C++,特别是OpenCV,所以我带了笔记本电脑。考虑到时间和家庭的限制,我并没有在飞行前把图书馆的一切都安排好,c++,visual-studio-2010,opencv,C++,Visual Studio 2010,Opencv,我已经设置了VS2010的所有内容,就像我记得不久前在我的桌面上所做的那样,但是在openCV网站上编译测试示例时(http://opencv.willowgarage.com/wiki/VisualC%2B%2B)我收到以下错误: Error 3 error C2244: 'cv::Matx<_Tp,,>::diag' : unable to match function definition to an existing declaration C:\Program
Error 3 error C2244: 'cv::Matx<_Tp,,>::diag' : unable to match function definition to an existing declaration C:\Program Files\OpenCV2.2\include\opencv2\core\operations.hpp 372
Error 4 error C2244: 'cv::Matx<_Tp,,>::diag' : unable to match function definition to an existing declaration C:\Program Files\OpenCV2.2\include\opencv2\core\operations.hpp 448
错误3错误C2244:“cv::Matx::diag”:无法将函数定义与现有声明C:\Program Files\OpenCV2.2\include\OpenCV2\core\operations.hpp 372匹配
错误4错误C2244:“cv::Matx::diag”:无法将函数定义与现有声明C:\Program Files\OpenCV2.2\include\OpenCV2\core\operations.hpp 448匹配
这反过来又让我看到:
模板内联
Matx Matx::diag(常数Matx&d)
{
Matx-M;
对于(int i=0;i
模板内联
Matx Matx::diag()常量
{
诊断型d;
对于(int i=0;i
我已经在msdn和openCV论坛上查看了这个错误,但是我找不到这个特定错误的记录,我不知道如何解决它
运行64位版本的Windows7是否也有问题?我读到openCV2.2是兼容的,但是之前当程序编译时,它一直说.dll文件丢失,即使路径变量和目录是正确的
谢谢,
Jean Pierre在32位Win7 VS2010和QT 4.7.2上运行Opencv2.2时遇到了同样的问题
我似乎不是一个影响代码实际功能的错误。当我按照Himanshu jain的描述关闭代码分析时,它解决了这个问题。看来确实是高级编译器选项“/analyze”导致了这个问题(我在Win XP 32位上使用的是带VS 2008的OpenCV 2.2)。我可以修复第一个错误: 在第365行中,您必须将
Matx
替换为diag_type
,即
template<typename _Tp, int m, int n> inline
Matx<_Tp,m,n> Matx<_Tp,m,n>::diag(const Matx<_Tp,MIN(m,n),1>& d)
如果您找到了解决此问题的方法,请让我知道--我想我现在就在OpenCV Trac上发布错误报告单…没有64位版本的VS2010,请将其从列表中划掉以便于解释。再来一杯皮尼亚可乐,这可以等到你回来。哎呀,这对我在睡觉时间以外打字很有帮助。我的意思是windows 7 64位而不是vs2010我会编辑的。由于家庭责任,我会在这里呆到三月底,所以这是一个相当长的等待!
template<typename _Tp, int m, int n> inline
Matx<_Tp,m,n> Matx<_Tp,m,n>::diag(const diag_type& d)
1>D:\OpenCV2.2\include\opencv2/core/operations.hpp(447) : error C2244: 'cv::Matx<_Tp,,>::diag':
unable to match function definition to an existing declaration