4345|6

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

高分求助!EVC4.0环境,就一个.c文件(demo.c),为什么不包含 dshow.h 时编译通过,包含时就出一大堆错误呢? [复制链接]


用的是EVC4.0开发环境,就一个.c文件(demo.c),文件内容非常简单,为什么不包含 dshow.h 时编译通过,包含时就出一大堆错误呢?

#include
//#include     // 不包含 dshow.h 编译通过,包含时就出一大堆错误,见后面。


int WINAPI WinMain( HINSTANCE hInstance,
                                   HINSTANCE hPrevInstance,
                                   LPTSTR lpCmdLine,
                                   int nCmdShow)
{
       
        return 0;
}


包含 dshow.h 时编译的一大堆错误:

Compiling...
demo.c
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\reftime.h(42) : error C2099: initializer is not a constant
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\reftime.h(50) : error C2061: syntax error : identifier 'CRefTime'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\reftime.h(50) : error C2059: syntax error : ';'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\reftime.h(51) : error C2449: found '{' at file scope (missing function header?)
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\reftime.h(112) : error C2059: syntax error : '}'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxdebug.h(71) : error C2061: syntax error : identifier 'tag_ObjectDesc'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxdebug.h(72) : error C2059: syntax error : '}'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxdebug.h(307) : error C2061: syntax error : identifier 'CGuidNameList'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxdebug.h(307) : error C2059: syntax error : ';'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxdebug.h(307) : error C2449: found '{' at file scope (missing function header?)
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxdebug.h(310) : error C2059: syntax error : '}'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxdebug.h(335) : error C2061: syntax error : identifier 'CDispBasic'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxdebug.h(335) : error C2059: syntax error : ';'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxdebug.h(336) : error C2449: found '{' at file scope (missing function header?)
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxdebug.h(343) : error C2059: syntax error : '}'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxutil.h(23) : error C2061: syntax error : identifier 'CCritSec'
C:\Program Files\Windows CE Tools\wce400\STANDARDSDK\Include\x86\wxutil.h(23) : error C2059: syntax error : ';'
..........................

最新回复

必须包含DirectShow的静态链接库才行,单单有一个头文件是没有用的  详情 回复 发表于 2010-4-16 14:10
点赞 关注

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
可能是SDK的问题,你用的是标准的SDK,它也许没有包含DirectShow。
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不改成.CPP文件,怎么解决?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
添加如下连接库试试
strmbase.lib strmiids.lib commdlg.lib
dshow是微软DirectShow,多媒体播放方面的东西。
可能你用的X86的标准SDK不包含这个。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
首先,STANDARDSDK是不支持DDraw的.编译是不可能通过的.

其次,最好是改为.cpp. 否则可能要注意C和C++互相调用的问题.

 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

6
 
使用DSHOW 或 DDRAW,头文件、库、SDK、BSP要匹配好,不是单单包含一个头文件就可以的。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

7
 
必须包含DirectShow的静态链接库才行,单单有一个头文件是没有用的
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表