VS2010配置DirectShow

http://blog.csdn.net/yangalbert/article/details/7408747
http://blog.163.com/wuyuanhere@126/blog/static/1733237282011819111560/
 
 
1、下载DirectShow
下载地址: http://download.csdn.net/detail/yangalbert/4184472

2、编译 DXSDK\Samples\C++\DirectShow\BaseClasses工程;
      1:vc6,直接编译debug和release;
      2:vc2008编译debug和release+ Unicode debug和 Unicode release,要做如下步骤的错误修改;
      3:vc2010编译debug和release+ Unicode debug和 Unicode release,如果按照vc2008,修改好错误,编译release+ Unicode debug没有问题,
            但是在编译Unicode版本会提示:无法打开包括文件:“streams.h”: No such file or directory;
            这时,你可以右键BaseClasses- >属性->包含目录->添加“DXSDK\Samples\C++\DirectShow\BaseClasses”这个目录,然后编译;
     

3、配置
(1)将DirectShow解压至C盘(获其他指定位置),此时所在目录为C:\DirectShow
(2)配置VS2010的(如何配置参见: http://blog.csdn.net/yangalbert/article/details/7405346)
在“VC++目录”的“包含目录”中添加
C:\DirectShow\include
在“VC++目录”的“库目录”中添加
C:\DirectShow\lib
在“VC++目录”的“库文件”中添加
在“链接”->“输入”->“附加依赖项”中添加strmiids.lib

注:和vc6配置路径一样,参考陆其名的书,或者直接网上百度就可以了;


4、修改winNT.h

这个问题这样修改:
在VC2010中添加完成路径后, 还是将 “包含路径”添加中的路径放到 $(IncludePath); 后面就可以了;

以管理员身份打开C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include目录
在winNT.h文件第290行左右的如下两行
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
之前添加:
#define POINTER_64 __ptr64
否则在使用DirectShow会出现“ERROR:winnt.h error C2146: 语法错误: 缺少';'(在标识符'PVOID64'的前面)”的错误。

你可能感兴趣的:(VS2010配置DirectShow)