做directshow相关的开发已经是一年半以前的事了,当时是做p2p点播的项目,就做了从内存取数据流的source filter 和 player。后来业务调整,我转做嵌入式inux相关的开发。昨天有个同事做项目时用到了我以前写的播放器,播放失败,让我协助找一下原因。我只得重新配置开发环境,已经都忘记了,google了一会才把环境搭好,一测试没发现问题,后来发现是他用了一个很老的版本,我告诉他最后版本号,更新到新版本就OK了,也犯了一个低级错误,应该一开始就看版本号的。即然重新配置了一遍环境,就把方法记下来吧。
1、编译DXSDK/Samples/C++/DirectShow/BaseClasses
2、设置include和lib路径,菜单"toos" -> "options" -> "directories" :
include:
C:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES
C:/DXSDK/SAMPLES/C++/COMMON/INCLUDE
C:/DXSDK/Include
lib:
C:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/LIB
C:/DXSDK/Lib
directshow相关的inclue和lib路径都要放在最前面,不然会报很多错的。
3、头文件的包含顺序,如果有同时用到" stream.h ” 和 "initguid.h",应该是这样的顺序,不然也会报很多错误的。
#include <streams.h>
#include <initguid.h>
本文回顾了一年前进行DirectShow开发的经历,并记录了重新配置开发环境的过程。包括编译BaseClasses,设置include和lib路径,以及解决头文件包含顺序的问题。

被折叠的 条评论
为什么被折叠?



