LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1419|回复: 1

QT_MPlayer移植

[复制链接]
发表于 2011-1-7 14:48:19 | 显示全部楼层 |阅读模式
Qt安装 使用 移植
2011-1-7  by  雨焰  QQ:839903061
(一)        首先要建立交叉编译环境
a)             首先搭建交叉编译环境
i.        将arm-linux-gcc-4.4.3.tar.gz解压到一个空文件夹中
#tar zvxf arm-linux-gcc-4.4.3.tar.gz –C / (C的后面有空格)
改变环境
#gedit  /root/.bashrc
将路径改为/opt/FriendlyARM/toolschain/4.4.3/bin
expotr  PATH=$PATH:/ opt/FriendlyARM/toolschain/4.4.3/bin
上面两行是同一条命令!
   保存退出之后,要重启一下机子命令如下
   #reboot
重启之后查看是否编译成功
# arm-linux-gcc –v
在最后一行如果出现了版本号就是编译成功了
修改编译调用的库链接
# strings /usr/lib/libstdc++.so.6 | grep GLIBC
   结果的最后一句话:
GLIBCXX_3.4      没有GLIBCXX_3.4.9
# ls -l  /usr/lib/libstdc++.so.6
结果链接(快捷方式)为
/usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8
# rm –rf /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8
#ls -l  /usr/lib/libstdc++.so.6
出现:/usr/lib/libstdc++.so.6:没有那个文件或目录
把(资源)libstdc++.so.6.0.10放入/usr/lib中
重新做链接
#ln -s /usr/lib/libstdc++.so.6.0.10  /usr/lib/libstdc++.so.6
(二)        QT 安装
一、        下载
qt-sdk-linux-x86-opensource-2010.05.1.bin
二、        增加权限
Chmod 777 qt-sdk-linux-x86-opensource-2010.05.1.bin
三、        安装QT
./ qt-sdk-linux-x86-opensource-2010.05.1.bin
四、        升级Linux5的fontconf库
a)        将fontconf-2.3.0.tar.gz放入/root/qt中
b)        #cd fontconf
c)        #./configure  --sysconfdir=/etc  --prefix=/usr  --mandir=/usr/share/man
d)        #make
e)        #make install
五、        升级freetype库
a)        将freetype-2.3.0.tar.gz放入/usr/local中
b)        #cd /usr/local
c)        #tar zxvf freetype-2.3.0.tar.gz
d)        #./configure
e)        #make
f)        #make install
六、        改变环境变量
vim ~/.bash_profile
添加如下:
QTDIR=/opt/qtsdk-2010.05/qt(安装路径一定要写对)
QTLIB=$QTDIR/lib
QTINC=$QTDIR/include
PATH=$QTDIR/binPATH
保存退出之后
#source ~/.bash_profile
#which qmake
查看显示如果结果是/opt/qtsdk-2010.05/qt/bin/qmake,表示设置正确
七、        把QT的库路径加入so的搜索路径.
   在调试QT程序时,QTCreator是在后台调用gdb来调试,因此必须要系统知道从哪里找QT的动态库.一般比较好的办法是将其加入到系统so的路径,方法是修改/etc/ld.so.conf
#vi  /etc/ld.so.conf
把/opt/qtsdk-2010.05/qt/lib作为一行写入这个文件.存盘后执行命令
# ldconfig   让路径生效
可以使用如下命令检查输出结果是否正确:
#env |grep QT
查看配置的四项内容是否挣钱
a)        将虚拟机汉化一下
打开汉化包有五个QM文件
1.将这些文件复制到QT安装目录下的share/qtcreator/translations和qt/translations文件夹,覆盖(overwrite)原来的内容
2.重新启动qt,就完成了汉化
如果汉化不成功,可以选择qt的toos->options,在环境配置窗口中,选择左侧的enviroment,在右侧找到language,选择其中的chinese。
b)        将虚拟机重启(reboot)或者注销一下
c)        检查QtCreator是否能找到Qmake
在主菜单tools-->Options-->Qt4.QtVersion,如果Auto-Dected能找到QT4.7的qmake则能正常编译.

d)        可以直接在Xshell中运行qt!方法是在命令行输入:
#cd /opt/qtsdk-2010.05/bin   (这样可以直接在级别3下运行QT,速度快!省内存)
#./qtcreator
(三)        运行QT并创建一个项目
环境安装好后,就可以创建一个QT的应用程序.
1.用QtCreator程序向导几步就创建一个项目,而以前则是使用分散的工具来创建.
1.1选择主菜单File->newfileorproject->Qt4GUIApplication创建一个标准GUI程序.如下图↓↓↓

1.2点击下方的choose…设置项目目录,即可快速建立一个项目

1.3可以直接主界面的运行按键来运行QT的程序。也能按调试软件来进行调试

1.3.1图形界面的一些控件
                1、使用widget存放MP4播放时的视频位置
      2、horizontal Slider控件来调节视频的进度!
                3、再者就是push button 了
1.3.2按键的程序连接使用
      选点按键右键转到槽(go to slot)
1.4  无程序调试运行
                当界面做好了之后
点击运行按键
1.5  图形界面出来之后就可以给按键增加功能了右键go to
slot 进入程序首先在的头文件中添加一个库<qprocess>
在主窗口函数中添加指针
QProcess   *process;

然后在源文件MainWindow.cpp文件中的主窗口函数中添加一
线程的实例化    process=new QProcess();

然后开始编程
(1)开始播放的程序
void MainWindow:n_start_clicked()
{
    QString commend="/root/qt/mplayer "; // -slave -quiet -ac mad " ;
    QString file="/root/qt/shi.avi ";
    QString canshu=" -slave -quiet -ac mad  -wid "+QString::number(ui->widget->winId());
    process->setProcessChannelMode(QProcess::MergedChannels);
    process->start(commend+file+canshu);
}
(2)视频暂停的程序
void MainWindow:n_stop_clicked()
{
    if(isplaying){
            process->write("pause\n");
            isplaying=false;
                 }
    else{
             process->write("pause\n");
             isplaying=true;
            }
}
(3)程序停止播放的程序
void MainWindow:n_exit_clicked()
{
    process->write("quit\n");
}
1.6  开始调试程序
点击run  按钮然后等待构建,如果出错修改,没错的话点击
试试

(四)、将在PC机上面的播放器修改为可在开发板上面运行的QT界面
1.        先要将4.6.3的QT编译包放到指定的位置/usr/local/Trolltech文件夹中,如果没有就创建
2.        进入4.7.1的QT开发环境打开要编译的项目,选择   项目 图标,然后点击 概要第二行做好一个管理(manege)按键
3.        出现如下窗口,点击Qt4右边的蓝色加号添加浏览

选择/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin中的qmake  打开,会出现如下图像

如果没有出现√就点击右边的重新构建,然后点击应用确认
4.        重新回到了项目页面
然后选择管理前面的小黑色三角
,选择 4.6.3
拖动鼠标向下到 构建环境变量一行点击详细

        找到PATH、QTDIR、QTLIB、QTINC将之修改为4.6.3所在的位置
      使用 系统环境变量 和
设置 PATH 为/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin:/opt/FriendlyARM/toolschain/4.4.3/bin:/opt/qtsdk-2010.05/qt/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/opt/FriendlyARM/toolschain/4.4.3/bin:/root/bin(红色的是添加的)
设置 QTDIR 为
        /usr/local/Trolltech/QtEmbedded-4.6.3-arm
设置 QTINC 为/usr/local/Trolltech/QtEmbedded-4.6.3-arm/include
设置 QTLIB 为
/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib
与此同时还要将生成文件的位置找好但别使用默认的
选定一个!
注:我命名的是MP7文件夹
然后点击run  按钮然后等待构建,又警告没事的,只要不是红色的感叹号就行其他的一切都不重要即使出现这个
也没事的!
然后进入构建目录找到可执行文件拷到开发板上
(五)在开发板上面
1.        将mplayer  test.wmv  MP7三个程序复制到开发板的和PC机上运行的相同的位置下
注:我命名的叫MP7的QT
2. 修改mplayer MP7的权限,使之可执行
3. 将下列配置内容加入到开发板的/etc/profile文件。建议采用粘贴方式。否则输入太慢!
#configure for tslib         
export TSLIB_ROOT=/usr/local
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal  
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts     
export TSLIB_CONSOLEDEVICE=none               
export TSLIB_FBDEVICE=/dev/fb0               
export LD_LIBRARY_PATH=/usr/local/libLD_LIBRARY_PATH                                                        
#configure for qt                                      
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm
export LD_LIBRARY_PATH=$QTDIR/libLD_LIBRARY_PATH     
export PATH=$QTDIR/binPATH                           
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
4. 将/etc/init.d/rcS中的如下行(倒数第三行)注释掉。即不启动默认界面!
  #/bin/qtopia &
5. 重新启动开发板后执行如下命令
   ./MP7 -qws
发表于 2011-1-9 12:00:41 | 显示全部楼层
为什么要新做一个GUI呢?SMplayer不是很好吗?好像有人做过smplayer的port。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表