求助,这个问题快把我烦死了,谢谢了先,分数不够再加

cxfirefox 2004-09-28 05:28:58
用DirectShow写了一个程序,tools\option\dictories如下:
include:
D:\开发工具\MICROSOFT DIRECTX 9.0 SDK (SUMMER 2004)\SAMPLES\C++\DIRECTSHOW\BASECLASSES
D:\开发工具\Microsoft DirectX 9.0 SDK (Summer 2004)\Include
D:\开发工具\VC98\INCLUDE
……
library:
D:\开发工具\MICROSOFT DIRECTX 9.0 SDK (SUMMER 2004)\LIB\X64
D:\开发工具\MICROSOFT DIRECTX 9.0 SDK (SUMMER 2004)\LIB\
D:\开发工具\VC98\INCLUDE
……
我的机器的directx是9.0c,但是在编译的时候,老是出现如下错误:
这个问题怎么解决啊?

D:\开发工具\Microsoft DirectX 9.0 SDK (Summer 2004)\Include\strmif.h(1018) : error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE'
D:\开发工具\Microsoft DirectX 9.0 SDK (Summer 2004)\Include\strmif.h(1018) : fatal error C1004: unexpected end of file found
CalibFilterprop.cpp
D:\开发工具\Microsoft DirectX 9.0 SDK (Summer 2004)\Include\strmif.h(1018) : error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE'
D:\开发工具\Microsoft DirectX 9.0 SDK (Summer 2004)\Include\strmif.h(1018) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
...全文
134 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxfirefox 2004-09-28
  • 打赏
  • 举报
回复
已经搞定了,在国外的一网站上终于查到原因了,多谢各位了!
cxfirefox 2004-09-28
  • 打赏
  • 举报
回复
如果是少了大括号的话,在注释掉这一行的情况下,错误应该指示下一行,但是无论我在这个文件中做什么修改,错误总是在那一行,所以我觉得不是这个问题
phineco 2004-09-28
  • 打赏
  • 举报
回复
看是不是哪里少了一个大括号
建议仔细查看源程序!
cxfirefox 2004-09-28
  • 打赏
  • 举报
回复
我觉得可能不是strmif的问题,因为无论我在这个文件中做什么修改,错误总是在那一行,无论这一行有没有代码都是
cxfirefox 2004-09-28
  • 打赏
  • 举报
回复
那个头文件没有引入?
Mr-Chen 2004-09-28
  • 打赏
  • 举报
回复
没有把头文件引进来
Kudeet 2004-09-28
  • 打赏
  • 举报
回复
这是MSDN里举的一个error C2146的例子:
void main(void)
{
intt x; //Syntax error: missing semicolon before 'x' // 语法错误
}

fatal error C1004: unexpected end of file found
这个可能是大括号引起的,其他的看
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vcce4/html/everrFatalErrorConezerzerfou.asp
cxfirefox 2004-09-28
  • 打赏
  • 举报
回复
诡异的是,注释掉错误信息根本不变
cxfirefox 2004-09-28
  • 打赏
  • 举报
回复
strmif是directX sdk提供的文件,不是我自己编写的。我把出错一行前后的代码贴出来:

typedef
enum _PinDirection
{ PINDIR_INPUT = 0,
PINDIR_OUTPUT = PINDIR_INPUT + 1
} PIN_DIRECTION;

#define MAX_PIN_NAME 128
#define MAX_FILTER_NAME 128
typedef LONGLONG REFERENCE_TIME;

typedef double REFTIME;

typedef DWORD_PTR HSEMAPHORE;@@错误在这

typedef DWORD_PTR HEVENT;

typedef struct _AllocatorProperties
{
long cBuffers;
long cbBuffer;
long cbAlign;
long cbPrefix;
} ALLOCATOR_PROPERTIES;
NewCenturyNewPage 2004-09-28
  • 打赏
  • 举报
回复
你可以先把:strmif.h(1018)的第1018行注释掉,接着再看看。
m_kiss 2004-09-28
  • 打赏
  • 举报
回复
头文件包含问题!!!!!!
kugou123 2004-09-28
  • 打赏
  • 举报
回复
是不是少了个分号啊?

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧