因为OpenCV2.2的一个已知bug致使的上述问题,这个bug已经被修改到其对应分支上,可是官网上发布的文件包并无包含这个修改。所以只要手动修改这个bug对应的代码,问题即可解决。须要修改的文件位置: $(OpenCV Folder)\modules\highgui\src\precomp.hpp
找到以下代码:ui
#if !defined WIN32 && !defined _WIN32
#include "cvconfig.h"
#else
void FillBitmapInfo( BITMAPINFO* bmi, int width, int height, int bpp, int origin );
#endifspa
将其修改成:it
#include "cvconfig.h"
#if defined WIN32 && defined _WIN32
void FillBitmapInfo( BITMAPINFO* bmi, int width, int height, int bpp, int origin );
#endif编译
而后要作的就是用Cmake从新编译一下OpenCV2.2的代码,而后从新编译一下OpenCV.sln。gui
固然,若是能在第一次编译以前做出如上修改,相信能节省很多时间~module