VC6配置Directshow时的strmif.h出现的C2146错误
来源:互联网 发布:生物多样性锐减数据 编辑:程序博客网 时间:2024/05/05 23:02
在给VC6配置Directshow SDK时,很多人会出现C2146和fetal error C1004问题,作为对CSDN和各位大虾的回报,特写此文,以飨读者!
症状:/include/strmif.h(1022) : error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE'
出现此问题,主要是strmif.h定义不完善,有以下解决办法:
a方法:在VC的菜单Tools | Options | Directories| 的include中,把D:/Microsoft Visual Studio/VC98/INCLUDE,就是VC自带的include放置于DXSDK的include之前。
b方法:修改DXSDK中的头文件。在strmif.h中找到typedef DWORD_PTR HSEMAPHORE; 在其上一行加入如下两条语句 typedef unsigned long LONG_PTR; typedef unsigned long DWORD_PTR; 然后找出DXSDK中的control.h,定位到typedef LONG_PTR OAEVENT;在其上一行加入typedef unsigned long LONG_PTR;,保存修改,然后重新编译,rebuild all,就可以了!
两种方法都可以,用一种就行了。
欢迎交流!
- VC6配置Directshow时的strmif.h出现的C2146错误
- DirectShow 在VS2005/VS2010中环境配置和编译运行出现 winnt.h(5940)错误问题的解决
- 编译directshow filter的vc6的配置
- Directshow与VC6.0的环境配置
- VC6.0编程用到#include <unistd.h>编译时出现的错误及解决方法
- error C2146:和error C4430:的错误
- error C2146:和error C4430:的错误
- VC6.0应用OpenCV时出现的错误及解决办法
- winnt.h C2146 error C2146: syntax error : missing ';' before identifier 'PVOID64' 又一可能的解决方案
- VS2013 中 处理winnt.h 的 Error C2146时系统拒绝访问的解决方法
- DX9.0 sdk开发中遇到的 winNT.h中错误error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
- DirectShow中H.264 SourceFilter的Pin配置
- DirectShow中H.264 SourceFilter的Pin配置
- DirectShow的"PVOID64错误"
- cocos2d-x 在IDE vs2010 出现error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)编译错误解决方案
- javah 生成.h文件时出现的错误
- VS2008出现atlcom.h错误的解决办法
- directshow环境的配置
- 将图像装载入网格
- 使用ISO文件安装Linux - Linux入门系列
- HTML文档结构
- grub的用法
- Grub安装,配置及使用汇总
- VC6配置Directshow时的strmif.h出现的C2146错误
- Linux ln 命令详解
- Dreamweaver 正则表达式 查找替换
- 在Dreamweaver MX 2004中使用正则表达式
- JBPM3.2 工作流演示例子(jbpm-console websale DEMO) 移植到 To
- 智能通道系统之(4) 创建数据库[表、视图、存储过程]
- 学习计划
- Ruby on Rails 安装手记
- Html中关于多媒体的标签