Pages

Monday, May 21, 2007

mplayer 的 –enbale-debug 選項

之前因為想找出 ass 字幕爛掉的原因,得編譯一個 debug 版本的 mplayer。但只要一加入這個選項後編譯就會爛掉,會跑出如下的錯誤訊息:

can't find a register in class 'GENERAL_REGS' while reloading 'asm'
當時也沒仔細去找解法,直接用插入 printf 的方法來觀察一些變數,問題也順利解決了。不過昨天把 svn head 抓下來編譯後也是一樣,看來應該是老問題了,查了一下 maillist 發現有人問過,可以參考這幾封信: 解決方法是在 libavcodec/Makefile 的 CFLAGS 加入 -fomit-frame-pointer 參數就好。編譯完果然變得超級肥大...看起來是可以用 gdb 來跑了:
88M mplayer 6.9M mplayer-strip
這問題好像留了好幾年還找不到解決方法,不過在 FAQ 中是把問題推給 gcc,所以在 gcc 的 ml 上也發現有人問過類似的 ....


This article was originally posted on this site.

No comments:

Post a Comment