射手播放器 开发指南

出自射手网Wiki

射手播放器 开发指南

跳转到: 导航, 搜索

目录

编译

编译环境

  • 编译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

  • DirextX SDK 最新版

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

常见问题

  • 编译时提示缺少 xxxxxx.lib 文件

  解决: 大部分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 项目

  • 编译时提示缺少 xxxxx 文件

  解决:搜索/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

赞助商链接:
个人工具