1

我正在尝试在 Win8.1 下的 Eclipse 中使用OpenCV3-beta并且必须从 git 构建源代码,因为没有可供下载的 minGW 库。以前没问题,但是今天(刚刚)我从 git-master 更新了所有 OpenCV3 源,现在 mingw32-make 突然失败并显示消息:

\git\opencv\modules\highgui\src\window_w32.cpp:2011:9: error: 'TBBUTTONINFO' was not declared in this scope

代码本身是:

trackbar = icvFindTrackbarByName(window,trackbar_name);
if( !trackbar ){
    TBBUTTON tbs = {0};
    TBBUTTONINFO tbis = {0};
    ...

这不是唯一的错误,还有一些与上述类似的其他错误:

\git\opencv\modules\highgui\src\window_w32.cpp:2023:81: error: 'BTNS_AUTOSIZE' was not declared in this scope

\git\opencv\modules\highgui\src\window_w32.cpp:2023:97: error: 'BTNS_BUTTON' was not declared in this scope

由于大量有用的模块依赖关系,无法取消选中 makefile 中的 highgui 模块并编译 OpenCV。

更新猜猜这是一个错误。在此报告:http: //code.opencv.org/issues/4087

4

1 回答 1

4

问题(根据 Artur Wieczorek)是 MinGW 默认设置的操作系统版本。要治愈它,请在 MinGW 目录中找到“commctrl.h”之类的东西

#if 0
#define _WIN32_IE   0x0300
#endif

然后将其更改为

#if 1
#define _WIN32_IE   0x0500
#endif
于 2014-12-30T20:16:34.637 回答