急...DirectShow编译不过...

Java_java2005 2005-09-16 11:51:58
我的机器重装之后,我原先能编译过的程序出现很多错误!我该怎么做?

d:\dxsdk\samples\c++\directshow\baseclasses\wxutil.h(530) : error C2061: syntax error : identifier 'DWORD_PTR'
d:\dxsdk\samples\c++\directshow\baseclasses\ctlutil.h(437) : error C2504: 'IBasicVideo2' : base class undefined
d:\dxsdk\samples\c++\directshow\baseclasses\ctlutil.h(904) : error C2146: syntax error : missing ';' before identifier 'm_dwAdvise'
d:\dxsdk\samples\c++\directshow\baseclasses\ctlutil.h(904) : error C2501: 'DWORD_PTR' : missing storage-class or type specifiers
d:\dxsdk\samples\c++\directshow\baseclasses\ctlutil.h(904) : error C2501: 'm_dwAdvise' : missing storage-class or type specifiers
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(286) : error C2061: syntax error : identifier 'LONG_PTR'
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(951) : error C2504: 'IPinFlowControl' : base class undefined
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(982) : error C2061: syntax error : identifier 'IGraphConfig'
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(1067) : error C2143: syntax error : missing ';' before '*'
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(1067) : error C2501: 'IGraphConfig' : missing storage-class or type specifiers
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(1067) : error C2501: 'm_pGraphConfig' : missing storage-class or type specifiers
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(1340) : error C2504: 'IMemAllocatorCallbackTemp' : base class undefined
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(1444) : error C2143: syntax error : missing ';' before '*'
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(1444) : error C2501: 'IMemAllocatorNotifyCallbackTemp' : missing storage-class or type specifiers
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(1444) : error C2501: 'm_pNotify' : missing storage-class or type specifiers
d:\dxsdk\samples\c++\directshow\baseclasses\amfilter.h(1506) : error C2061: syntax error : identifier 'IMemAllocatorNotifyCallbackTemp'
d:\dxsdk\samples\c++\directshow\baseclasses\renbase.h(68) : error C2061: syntax error : identifier 'DWORD_PTR'
d:\dxsdk\samples\c++\directshow\baseclasses\renbase.h(78) : error C2146: syntax error : missing ';' before identifier 'm_dwAdvise'

............
...全文
176 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
老夏Max 2005-09-16
  • 打赏
  • 举报
回复
包含的顺序问题!
在Tools->Options->Directroies标签页下,将SDK的路径提到VC/MFC的路径前即可!
goodboyws 2005-09-16
  • 打赏
  • 举报
回复
没装对应的SDK吧,或者安装目录变了
DentistryDoctor 2005-09-16
  • 打赏
  • 举报
回复
安装最新的PlatformSD就行,或是直接
#define DWORD DWORD_PTR
i_noname 2005-09-16
  • 打赏
  • 举报
回复
directshow的lib,include目录设置好没?
快乐鹦鹉 2005-09-16
  • 打赏
  • 举报
回复
DWORD_PTR Unsigned long type for pointer precision. Use when casting a pointer to a long type to perform pointer arithmetic. (Also commonly used for general 32-bit parameters that have been extended to 64 bits in 64-bit Windows. )
This type is declared in BaseTsd.h as follows:


typedef ULONG_PTR DWORD_PTR;

看来要#include "BaseTsd.h"
rageliu 2005-09-16
  • 打赏
  • 举报
回复
重新装了系统?那么
1.确定安装了DX的sdk后将BaseClasses目录下的工程编译成功,并生成了对应的东东
2.配置正确vc中DirectShow的开发环境,具体为:
Tools->options->Directories选择Include file加入
C:\DXSDK\Include
C:\DXSDK\Samples\C++\DirectShow\BaseClasses
选择lib+入
C:\DXSDK\Lib
C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug_Unicode
C:\DXSDK\Samples\C++\DirectShow\BaseClasses\release

这里假设DX安装在了C盘,具体设置网上收一下!注意+的这几个要在ide自带的前面

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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