上海市建设监理协会网站查询,php wordpress api,南通 网站建设,网站移动适配用MinGW编译DShow的东西#xff0c;经常遇到没找到IBaseFilter的问题。本质上是MinGW的w32api并没有提供完整的DShow头文件所致。经过一番折腾#xff0c;得到了下面的解决方案#xff1a; 1. 从http://sourceforge.net/projects/mingw-w64/下载mingw-w64-headers#xff0… 用MinGW编译DShow的东西经常遇到没找到IBaseFilter的问题。本质上是MinGW的w32api并没有提供完整的DShow头文件所致。经过一番折腾得到了下面的解决方案 1. 从http://sourceforge.net/projects/mingw-w64/下载mingw-w64-headers我这里用的是mingw-w64-headers-20100717.tar.xz 2. 把mingw-w64-headers\include目录下的strmif.h、rpcndr.h、uuids.h、ksuuids.h、control.h拷贝到MinGW\include覆盖原有文件。 3. 打开strmif.h删掉所有”__MINGW_EXTENSION”。 4. 打开rpcndr.h删掉所有”__MINGW_EXTENSION”并在第81行”typedef int ssize_t;”的前后分别加上”#ifdef _SSIZE_T_”和”#endif”。 5. 打开vmr9.h查找”MixerPref9_RenderTargetMask 0x000FF000″一行在后面加上”,”查找”wchar_t szDescription[512]“在后面加上”;”。这个最莫名其妙了原作者居然都没加 6. 打开Windows SDK的wmr9.h把接口都添到MinGW的vmr9.h中。 至此DShow相关的东西就可以用MinGW编译了不再会报缺少接口。 新增和修改过的文件可以在这里下载DShow patch for MinGW转自http://www.klayge.org