Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCV-错误C2244 我目前在远离我的桌面的假期,但是我想练习我的C++,特别是OpenCV,所以我带了笔记本电脑。考虑到时间和家庭的限制,我并没有在飞行前把图书馆的一切都安排好_C++_Visual Studio 2010_Opencv - Fatal编程技术网

OpenCV-错误C2244 我目前在远离我的桌面的假期,但是我想练习我的C++,特别是OpenCV,所以我带了笔记本电脑。考虑到时间和家庭的限制,我并没有在飞行前把图书馆的一切都安排好

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

我已经设置了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 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