歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

QT_MPlayer移植到mini2440

(一)首先要建立交叉編譯環境 

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

export  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/bin:$PATH

保存退出之後

#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::on_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::on_stop_clicked()

{

    if(isplaying){

            process->write("pause/n");

            isplaying=false;

                 }

    else{

             process->write("pause/n");

             isplaying=true;

            }

}

(3)程序停止播放的程序

void MainWindow::on_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/lib:$LD_LIBRARY_PATH                                                       

#configure for qt                                     

export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH    

export PATH=$QTDIR/bin:$PATH                          

export QWS_MOUSE_PROTO=tslib:/dev/input/event0

4. 將/etc/init.d/rcS中的如下行(倒數第三行)注釋掉。即不啟動默認界面!

  #/bin/qtopia &

5. 重新啟動開發板後執行如下命令

   ./MP7 -qws

Copyright © Linux教程網 All Rights Reserved