射手播放器 开发指南
编译
编译环境
- 编译SVN下载的代码必须准备以下编译环境
- Visual Studio 2008 SP1
- yasm (用于编译libflac等。下载后将exe改名为 yasm.exe 放入PATH路径中,例如 C:\Windows 或者 libflac 目录中)
http://www.tortall.net/projects/yasm/wiki/Download
- MS Windows Platform SDK Win 7 SDK或更高版本
http://www.microsoft.com/downloads/details.aspx?familyid=71DEB800-C591-4F97-A900-BEA146E4FAE1&displaylang=en#filelist
http://download.microsoft.com/download/2/E/9/2E911956-F90F-4BFB-8231-E292A7B6F287/GRMSDK_EN_DVD.iso
ed2k://|file|DXSDK_Feb10.exe|581591568|7C8B3E0B9B50C4060BA83D861C2B5DC4|h=IBDKNJ4TPHIHPXJWVIYORSODPB2JNZLG|/
- TortoiseSVN客户端 (SubWCRev.exe 用于在每次编译时生成revision.h)
http://tortoisesvn.net/downloads
下载代码
- 首先下载开发包,开发包中包含源代码和第三方关系库文件
- 假设系统中已经安装 TortoiseSVN 客户端
- 在解压完毕后右键点击trunk目录,并选择 SVN Update
- 等待代码下载完毕即可
开始编译
- 启动Visual Studio 2008后,打开项目src目录中的主sln项目文件。(首次打开时可能会提示缺少一些vcprj文件,忽略即可)
- 注意刚刚安装的SDK应该在VS2008的相关环境include和lib路径中 (菜单 -> Tools -> Options -> Projects and Solutions -> VC++ Directories -> Include Files / Library Files)
- 编译类型选择Release Unicode
- 在 mplayerc 的项目属性中(project properties)
- 注意 Build Event -> Per-build event 中生成 revision.h 的脚本,需要的可执行程序位置(C:\Program Files\TortoiseSVN\bin\SubWCRev.exe)应该与TortoiseSVN客户端实际安装的位置一致
- 开始 Build mplayerc
常见问题
解决: 大部分lib文件都应该位于代码树的 /lib 目录中,如果误删除了,可以通过 svn update 获取
- 编译时提示 error C1047 : The object or library file '......' was created with an older compiler than other objects; rebuild old objects and libraries
解决: 进入项目属性,关闭 Whole Program Optimize 项目
解决:搜索/include目录看看。当然,有些时候可能只是清理代码后忘记从项目中删除该文件的链接,手动清除一下即可。有些时候可能只是忘记了commit新的文件~~ ^_^
加入开发
- 参考阅读 射手播放器开发计划 TODO表 选择一个开发方向
- 对代码作出你的修改
- 使用 SVN 客户端的 Create Patch 功能创建 Patch 文件 (该Patch文件包含你作出的修改,也是一个考核标准)
- 将Patch文件通过Email发送到 tomasen@gmail.com 或 splayer.dev@qq.com ,别忘了留下你的联系方式
- 如果Patch通过评估,将会被合并入当前代码树。
- 提交Patch并有兴趣加入核心开发的朋友,可以获得 SVN commit权限和密码
高级编译
更改和优化 。。。(待补充)
项目模块简介
主界面和功能
mplayerc项目下的Mainfrm.cpp是主界面的启动位置
渲染器
mplayerc项目下的 DX7 / DX9AllocatorPresenter.cpp
解码器
filters -> transform -> mpcvideodec