前提:
Fedora9下编译好linux版的mplayer
Xp下直接到
http://www.mplayer.org.cn/download.html下载一个mplayer,安装后到目录下面可以得到一个MPlayer_core.exe,我们只要知道她得路径即可。
使用QT4.7.0编译下载的qt_mplayer.zip
1. 放在xp下编译失败
2. 放在fedora9上,将mplayer放在bin目录下,更改程序mplayer的路径和播放的音乐放在它的qt_mplayer-build-desktop目录下,编译运行成功,可以播放!
3. 在xp下,同样更改mplayer的路径,和播放文件的路径,播放文件直接放在qt_mplayer-build-desktop目录下也可以!同样可以播放!如图
4. 代码#include "main.moc"必须要有
一般情况下,你的类会单独写,一个 ***.h, 一个 ***.cpp 。 类的定义在 头文件中,qmake可以调用moc自动处理(生成moc_***.h)并自动包含。
但你要是偷懒,比如把main函数和类的定义及实现都放到一个文件内,比如取名 main.cpp ,这时就不那么走运了,moc处理后生成同名的.moc 文件,但这时你就必须自己包含它了,写在cpp的最后一行#include "main.moc",qt会自动提示找不到该文件,不必理会。否则会编译失败:
debug/main.o: In function `PlayerWidget':
J:\qt_code\qt_mplayer-build-desktop/../qt_mplayer/main.cpp:31: undefined reference to `vtable for PlayerWidget'
J:\qt_code\qt_mplayer-build-desktop/../qt_mplayer/main.cpp:31: undefined reference to `vtable for PlayerWidget'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\qt_mplayer.exe] Error 1
mingw32-make: *** [debug] Error 2
其实在程序里这样写是不准确的。
2. 转移到mini2440上
通过arm编译器编译,放到qt4目录下替换wiggly运行,可以播放,但播放不是加载在指定控件上!
附件里面为qt_mplayer.zip
希望大家踊跃上传自己的程序代码~~
才能一起学习一起进步!!
[ 此帖被xphyym在2010-09-21 10:42重新编辑 ]