VS2005+Pocket PC 2003上DirectShow SDK开发环境配置

基于PC的DirectShow开发及其开发环境配置

二个Sample源代码(必须安装Platform Builder 5.0):

D:/WINCE500/PUBLIC/DIRECTX/SDK/SAMPLES/DSHOW/PLAYERS/PLAYWND(一个简单的PLAYER样例程序)和D:/WINCE500/PUBLIC/DIRECTX/SDK/SAMPLES/WMP/CEPLAYER(完整的Windows Media Player源代码)

顺便说一下,D:/WINCE500/PUBLIC/DIRECTX/SDK/就是类似于PC机上DirectX SDK开发包,不需要我们再次安装了。这个SDK包含DirectShow开发所需要的BaseClasses编译出来lib库和头文件。

网上下载的基于Windows Mobile DirectShow的H264 Player Demo及其H264的Source filter、Transform filter开发,这个例子对一个刚入门Windows Mobile DirectShow开发的人很有用。

有了这些资源我就尝试着用VS2005 Build出一个PLAYWND的Sample Player,把源代码拿来,基本上只有playwnd.cpp、playwnd.h和playwnd.rc资源文件,代码是按照Windows SDK开发的,非MFC。首先我在VS2005上建立一个基于smart devices的win32 application工程,SDK有Pocket PC 2003和Smart Phone 2003,然后把这几个关键源文件导入到工程中去,初次编译,报出许多错误,基本上都是找不到DirectShow相应的类和一些标识的错误。参考PC的DirectShow开发环境配置,在DirectShow开发之前,首先得有BaseClasses编译出来的相关的lib库,在这里,我们可以省去编译BaseClasses了,Platform Builder 5.0安装好之后就在文件夹D:/WINCE500/PUBLIC/DIRECTX/SDK/LIB和D:/WINCE500/PUBLIC/DIRECTX/SDK/INC下提供给我们DirectShow开发所需要的库和头文件,我们需要把这些库和头文件包含进来,具体的设置:

Tools->options->project and solutions->VC++ Directories下添加:

Platform: Pocket PC 2003(ARMV4)

Show directories for: Include files: D:/WINCE500/PUBLIC/DIRECTX/SDK/INC

lib files: D:/WINCE500/PUBLIC/DIRECTX/SDK/LIB/ARMV4I/RETAIL

D:/WINCE500/PUBLIC/DIRECTX/SDK/LIB/ARMV4I/DEBUG

指明包含库和头文件的路径

Project->properties->configuration properties->linker->Input下添加:

Additional Dependencies: strmbase.lib strmiids.lib commdlg.lib,指明DirecShow编译需要包含哪些具体的库名。

以上设置基本上完成了,但还有一些小错误,是缓冲区检查等错误,设置:Project->properties-> configuration properties->C/C++->Code Generation下设置Buffer Security Check: No

还有这个错误:BaseClasses/ctlutil.h(278) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int,解决方法如下:project->properties->configuration->C/C++ ->Command Line,增加/wd4430选项。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/joyzml/archive/2009/11/17/4821865.aspx

你可能感兴趣的:(VS2005+Pocket PC 2003上DirectShow SDK开发环境配置)