5.05.2010

Log : Build tcpmp

tcpmp 0.72RC1 source code 的 download 位置是: http://picard.exceed.hu/tcpmp/test/
tcpmp 的開發已經終止,原公司開發 betaplayer,即將 opensource (?)
開啟 tcpmp.sln 看,是 visual studio V9.0 ,所以使用 VS2005 開啟。

build - 選 pocket pc 2003 (ARMV4) 版本build OK。
===> 但是 在 CE 5.0 上不能run,連 launch 都不行
發現是 load Interface.plg fail -- 根本沒有這個檔。
follow readme,用 eVC d開啟,雖然 build fail,但是有出現 interface.plg 在 output folder。

查看發現, interface 這個 subproject 有設定 output name 是 interface.plg (所以應該是 Dll rename 的)

看VS2005 的 interface subproject,也有設定 output name 是 plg。
==>在 "packet pc 2003 (armv4)\debug" 下有 interface.plg
copy 到 SD card 上後,player.exe 果然 run 起來,接著出現 exception.. 畫面顯示: Language files (*.txt, *.tgz) ar missing.
搜尋*.txt,在 lang 這個 folder 裡有很多語系的 txt file,都 copy 到 SD 上, run player .exe 就沒有 error message 了。

在 CE 5.0 上 run OK,還可以開 WAVE file 播放,但是在 CE 6.0 就會有問題。
==>有 exception :
Exception 'Undefined Instruction' (1): Thread-Id=058e007a(pth=8db9e7c8), Proc-Id=0563008a(pprc=8dd91000) 'PLAYER.EXE', VM-active=0563008a(pprc=8dd91000) 'PLAYER.EXE'
PC=41067188(common.dll+0x00097188) RA=41067498(common.dll+0x00097498) SP=0003fa8c, BVA=00000000

查到好像是在 Platform_Init ( ) 裡的 NodeRegisterClass(&Platform) 裡。
但是同一function : NodeRegisterClass

死在 CallCreate( ) ,這是一個 recursive 程式。

沒有留言: