TCPMP
源代码编译
tcpmp
是一个开源的播放器
,
现在好像商业化了
,
改名叫
core player.
据说目前支持最多媒体格式的播放器
.
除了
rm,rmvb
等少数几种格式不支持外
.
可以在这个网址获得开源代码
http://picard.exceed.hu/tcpmp/ .
我昨天下载了一个
0.72RC1
的源代码
.
期望能自己编译定制一个播放器
.
好东西搞起来果然很费劲
!
花费一个晚上终于在今天中午编译成功
,
在我的
arm9+wince
上跑起来了
.
我是用
evc4.2
编译的
,
网络上搜索
,
很多人都是碰到许多编译问题和显示问题
.
但都没有提供一个完整的解决办法
.
2.
编译环境
.
我安装的是
evc4.2+standard sdk+Win32(WCE ARMV4) Release.
更低版本的
evc
应该也是可以
.
如果是编译
x86
的
.
要下载一个
nasm
汇编工具
.
这点在
readme.txt
里面提到
.nasm
的下载地址
http://nasm.sourceforge.net/.
否则的话会报错
.
网上不少人碰到这个错误没法继续了
,
不先看
readme.txt
实在不应该
.
3.
从下面
2
个网址下载
AMR
的解码器的源代码
.
并且分别拷贝到
AMR
目录下的
26104
和
26204
中
.
同样
,
这个信息在
readme.txt
中提到
http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-610.zip
http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-600.zip
http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-600.zip
4.
将
player_ce3
项目
set as active project.
这个项目将编译一个
player_ce3.exe
就是最终的程序
.
但编译这个程序依赖许多的库
.
这些库就是其他的
project
编译后提供的
.
5.
如果这时候点
rebuild all
会出现错误
.
我在
evc
左边工作区窗口的
FileView
标签下一个个的
project
编译过去
.player_ce2, sample_ce3
这
2
个
project
先忽略过去
.(
因为我们选择了
player_ce3.
如果搞定了一个其它的也没有问题
.)
大部分可库文件都可以正确编译
.
除了
asap
和
flac
这两个项目会报错
.
剩下的事情主要是解决这
2
个项目
.
6.
编译
asap
项目
.
因为反复改动
,
具体的过程我记忆不清了
.
我把成功设置的结果写下来
.
要编译
asap
这个项目
,
需要修改的内容
:
右键点
asap files -->settings-->c/c++-->Category-->Preprocessor.
在
Additional include directories:
中增加项目路径
,
注意这个是相对路径
".,asap,atari800/src".
不然一堆头文件会找不到
.
在
Preprocessor definitions:
中增加一个宏定义
",ASAP".
上面的描述都是加入引号内的内容不包括引号
.
当然这
2
步动作也可以在源代码中修改
.
如此设置完毕后
,asap files project
就可以正确编译了
.
7.
编译
flac
项目
.
同
6,
打开
flac
的
settings
到相同界面
.
在
Additional include directories:
中增加路径
"flac/include,flac/src/libFLAC/include",
不然一堆头文件找不到
.
然后
,
在
Preprocessor definitions:"FLAC__NO_DLL".
增加这个定义避免使用
_declspec(dllexport)
定义函数造成的一大堆
c2491
错误
.
如此设置后
,flac project
应该可以正确编译
.
8.
同理修改
player_ce3
项目
,
在
Additional include directories
中增加路径
"../asap/asap,../asap,../asap/atari800/src,flac/include,flac/src/libFLAC/include".
然后在
Preprocessor difinitions:
增加
ASAP.
最后
,
成功编译
player_ce3.exe
9.
拷贝包含
player_ce3.exe
在内所有的生成文件到目标板上
.
可以运行
!
但是菜单没有显示正确
.
10.
将
lang
目录下面的多国语言支持文件拷贝到目标板同一个目录下面
.
根据需要
,
我只拷贝了
lang_std.txt lang_en.txt,lang_chs.txt,lang_ca.def
也可以了
.
完成上面内容
.tcpmp
就可以正常在我机器上运行了
.(
我的目标板报了个错误
,
没有声音
.
应该是我音频驱动还没有调试的原因
.
我的板子是自己定做的
,
驱动正在陆续增加
.)
赶紧下载了个
wmv
来测试
.
速度不错
!