使用VS2013调用opencv3.3.0时出现的问题及解决办法

项目程序在debug编译时出现如下错误,release编译时一切正常:

1>  MainWindow.cpp

1>  _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
1>d:\opencv3.3.0\build\include\opencv2\flann\matrix.h(69): warning C4003: “free”宏的实参不足
1>d:\opencv3.3.0\build\include\opencv2\flann\matrix.h(69): error C2059: 语法错误:“,”
1>          d:\opencv3.3.0\build\include\opencv2\flann\matrix.h(84): 参见对正在编译的类 模板 实例化“cvflann::Matrix”的引用
1>D:\opencv3.3.0\build\include\opencv2/core/cuda.hpp(106): error C2059: 语法错误:“常量”

1>c1xx : fatal error C1903: 无法从以前的错误中恢复;正在停止编译


解决办法:

1. 将d:\opencv3.3.0\build\include\opencv2\core\cuda.hpp中语句

        virtual void free(GpuMat* mat) = 0;

改为:        virtual void _free(GpuMat* mat) = 0;


2.将d:\opencv3.3.0\build\include\opencv2\flann\matrix.h中语句

    CV_DEPRECATED void free()

改为:    CV_DEPRECATED void _free()


重新编译:

========== 全部重新生成:  成功 1 个,失败 0 个,跳过 0 个 ==========


你可能感兴趣的:(OpenCV,c++,opencv,调试,vc)