VC++中使用DirectShow环境配置

本文介绍了解决在Visual C++环境下编译DirectX程序时遇到的编译错误的具体步骤。通过调整编译器的配置,并正确设置包含路径,可以避免因头文件解析问题导致的编译失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、将DirectX包安装在C盘根目录下:C:/DXSDK

2、将  C:/DXSDK/Include 、C:/DXSDK/Samples/C++/DirectShow/BaseClasses加入VC的include下

    (Tools->Options->Directories)

3、这个时候编译DirectShow的程序,可能会出现以下错误:

   --------------------Configuration: vdclient - Win32 Debug--------------------
Compiling...
CDXGraph.cpp
c:/dxsdk/include/strmif.h(1018) : error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE'
c:/dxsdk/include/strmif.h(1018) : fatal error C1004: unexpected end of file found
ClientSocket.cpp
c:/dxsdk/include/strmif.h(1018) : error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE'
c:/dxsdk/include/strmif.h(1018) : fatal error C1004: unexpected end of file found
ListeningSocket.cpp
c:/dxsdk/include/strmif.h(1018) : error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE'
c:/dxsdk/include/strmif.h(1018) : fatal error C1004: unexpected end of file found
vdclient.cpp
c:/dxsdk/include/strmif.h(1018) : error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE'
c:/dxsdk/include/strmif.h(1018) : fatal error C1004: unexpected end of file found
vdclientDlg.cpp
c:/dxsdk/include/strmif.h(1018) : error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE'
c:/dxsdk/include/strmif.h(1018) : fatal error C1004: unexpected end of file found
Generating Code...
Error executing cl.exe.
Creating browse info file...
BSCMAKE: error BK1506 : cannot open file './Debug/CDXGraph.sbr': No such file or directory
Error executing bscmake.exe.

vdclient.exe - 11 error(s), 0 warning(s)

4、解决的办法是,将#include "c:/dxsdk/include/strmif.h"加入VC的"stdafx.h"文件中

5、编译运行,如果成功的话,再把#include "c:/dxsdk/include/strmif.h"从"stdafx.h"中删除掉

6、OK!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值