[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

时间:2023-03-09 08:39:28
[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

OpenCV默认情况下是不支持OpenGL的,如果要使OpenCV支持OpenGL,则需要重编译,具体步骤如下:

注意事项:从The OpenCV Reference ManualOpenCV参考手册 opencv2refman.pdf [点击下载]228页来看,OpenGL仅支持32位操作系统;

一、准备工作:

(1)下载OpenCV2.4.12 [点击下载] ,并解压到相应路径,本文解压在 D:\opencv-2.4.12;

(2)下载CMake工具 [点击下载],并安装;

(3)建一个重编译后文件存放文件夹,本文存放在 D:\opencv-2.4.12 build.

二、开始重编译:

(1)打开CMake,设置OpenCV2.4.12源码目录及 OpenCV2.4.12编译存放目录,勾选 Advanced 选项,如图:

[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

(2)点击 ConfigureSpecify the generator for this project 选择对应的 Visual Studio 版本,比如:我电脑装的是 Visual Studio 2013,故选择 Visual Studio 12 2013,如图所示:

[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

然后按 Finish

(3)找到 WHTH_OPENGL ,并打勾,如图:

[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

(4)再次点击 Configure,完成之后点击 Generate,结果如下:

[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

(5)打开 D:\opencv-2.4.12 build,找到 OpenCV.sln 并双击(使用 Visual Studio 打开);

(6)在 Debug 、Win32 环境下,选择 ALL_BUILD,单击右键,选择 生成,如图:

[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

如果提示错误  error LNK1104:无法打开文件“python27_d.lib”,则把 python27_d.lib 下载下来点击打开链接,放在Visual Studio 安装目录下的 VC\lib 文件下即可;然后,重新选择 ALL_BUILD,单击右键,选择 生成即可;

(7)选择 INSTALL,单击右键,选择 生成,如下图:

[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

(8)在 Release、Win32 环境下,重复(6)(7)步;

三、Visual Studio环境配置:

(1)点击 属性管理器,分别打开 Debug | Win32 和Release | Win32 下的Microsoft.Cpp.Win32.user ,通用属性 -> VC++ 目录 -> 包含目录 设置为:

D:\opencv-2.4.12 build\install\include
D:\opencv-2.4.12 build\install\include\opencv
D:\opencv-2.4.12 build\install\include\opencv2

通用属性 -> VC++ 目录 -> 库目录 设置为:

D:\opencv-2.4.12 build\install\x86\vc12\lib

如图:

[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

(2)链接器 -> 输入 ->附加依赖项,Debug 环境配置为:

opencv_calib3d2412d.lib

opencv_contrib2412d.lib

opencv_core2412d.lib

opencv_features2d2412d.lib

opencv_flann2412d.lib

opencv_gpu2412d.lib

opencv_highgui2412d.lib

opencv_imgproc2412d.lib

opencv_legacy2412d.lib

opencv_ml2412d.lib

opencv_nonfree2412d.lib

opencv_objdetect2412d.lib

opencv_ocl2412d.lib

opencv_photo2412d.lib

opencv_stitching2412d.lib

opencv_superres2412d.lib

opencv_ts2412d.lib

opencv_video2412d.lib

opencv_videostab2412d.lib

Release 环境配置为:

opencv_calib3d2412.lib

opencv_contrib2412.lib

opencv_core2412.lib

opencv_features2d2412.lib

opencv_flann2412.lib

opencv_gpu2412.lib

opencv_highgui2412.lib

opencv_imgproc2412.lib

opencv_legacy2412.lib

opencv_ml2412.lib

opencv_nonfree2412.lib

opencv_objdetect2412.lib

opencv_ocl2412.lib

opencv_photo2412.lib

opencv_stitching2412.lib

opencv_superres2412.lib

opencv_ts2412.lib

opencv_video2412.lib

opencv_videostab2412.lib

kernel32.lib

user32.lib

gdi32.lib

winspool.lib

comdlg32.lib

advapi32.lib

shell32.lib

ole32.lib

oleaut32.lib

uuid.lib

odbc32.lib

odbccp32.lib

如图:

[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

(3)至此配置完成。

四、编译时常见错误:

(1)若报如下错误:

错误     error C4430: 缺少类型说明符 - 假定为 int。注意:  C++ 不支持默认 int   c:\program files\windows kits\8.1\include\um\gl\gl.h           opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2371: “APIENTRY”: 重定义;不同的基类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2182: “APIENTRY”: 非法使用“void”类型 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glColor3dv”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glColor3d”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glColor3bv”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glColor3b”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glClipPlane”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glClearStencil”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glClearIndex”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glClearDepth”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glClearColor”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glClearAccum”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glClear”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glCallLists”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glCallList”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“GLboolean”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glBlendFunc”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glBitmap”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glBindTexture”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glBegin”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glArrayElement”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glAreTexturesResident”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glAlphaFunc”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2146: 语法错误: 缺少“;”(在标识符“glAccum”的前面) c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2144: 语法错误:“void”的前面应有“;” c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int WINGDIAPI”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C2086: “int APIENTRY”: 重定义 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest
错误 error C1003: 错误计数超过 ;正在停止编译 c:\program files\windows kits\8.1\include\um\gl\gl.h opengltest

则在 GL.h 文件下,添加 #include <windows.h> 头文件即可;

如图:

[转]OpenCV2.4.12 开启OpenGL启用三维可视化支持

(2)若报如下错误:

错误     error LNK2019: 无法解析的外部符号 __imp__glRectf@,该符号在函数 "void __cdecl onDraw(void *)" (?onDraw@@YAXPAX@Z) 中被引用    F:\VS2013 program\opengltest\opengltest\opengltest.obj  opengltest
错误 error LNK2019: 无法解析的外部符号 __imp__glFlush@,该符号在函数 "void __cdecl onDraw(void *)" (?onDraw@@YAXPAX@Z) 中被引用 F:\VS2013 program\opengltest\opengltest\opengltest.obj opengltest
错误 error LNK2019: 无法解析的外部符号 __imp__glColor3f@,该符号在函数 "void __cdecl onDraw(void *)" (?onDraw@@YAXPAX@Z) 中被引用 F:\VS2013 program\opengltest\opengltest\opengltest.obj opengltest
错误 error LNK2019: 无法解析的外部符号 __imp__glClearColor@,该符号在函数 "void __cdecl onDraw(void *)" (?onDraw@@YAXPAX@Z) 中被引用 F:\VS2013 program\opengltest\opengltest\opengltest.obj opengltest
错误 error LNK2019: 无法解析的外部符号 __imp__glClear@,该符号在函数 "void __cdecl onDraw(void *)" (?onDraw@@YAXPAX@Z) 中被引用 F:\VS2013 program\opengltest\opengltest\opengltest.obj opengltest
错误 error LNK1120: 个无法解析的外部命令 F:\VS2013 program\opengltest\Debug\opengltest.exe opengltest
则在 main 函数所在文件下添加 #pragma comment(lib,"opengl32.lib") 即可;
(3)若编译成功,在 cmd终端 运行时报错为“OpenCV Error: No OpenGL support (Library was built without OpenGL support) ……”,则把编译前的文件删除即可,即把 D:\opencv-2.4.12 文件夹删除即可;