請按以下具體步驟操作:
1、確定需要有的幾個檔案:
a)、 qtopia-core-opensource-src-2.1.1.tar.gz Qtopia庫源碼包
b)、交叉編譯器是arm-2009q1,可執行檔是arm-none-linux-gnueabi-gcc(網上能找到,注意要設定好交叉編譯器才可以進行後面的步驟)
c)、 qt的介面來源程式 project_stu(這個是專門在開發板上用的,增加了只能在開發板上啟動並執行代碼)
d)、交叉編譯好的視頻播放器可執行程式mplayer (這個是用網上開源的mplayer播放器源碼包經過交叉編譯得到的)
e)、 qmake.conf檔案(交叉編譯qtopia時使用)
2、交叉編譯Qtopia:
a)、解壓縮qtopia-core-opensource-src-2.1.1.tar.gz,進到解壓縮後得到的那個目錄下,用qmake.conf替換此qtopia源碼包目錄下mkspecs/qws/linux-arm-g++目錄中的qmake.conf
b)、在源碼包根目錄下,執行下面的命令(可以粘貼進去)
./configure -embedded arm -DQT_QLOCALE_USES_FCVT \
-qt-mouse-pc -qt-freetype -no-cups -no-nis -no-iconv \
-no-qdbus -qt-libjpeg -qt-libpng -qt-gif -qt-zlib \
-no-rpath -no-qt3support -no-largefile -no-accessibility \
-no-stl -no-libmng -little-endian -prefix /opt/QtPalmtop
c)、中間會有兩次輸入提示:
第一次提示你輸入時,輸入yes,斷行符號
第二次提示輸入時直接斷行符號
configure完成
d)、輸入sudo -s,輸入root使用者口令,然後輸入make開始編譯
e)、輸入make install,qtopia庫會自動安裝到PC機的/opt/QtPalmtop下。
這個是PC機上交叉編譯Qt程式時用到的庫,同樣這個庫需要拷貝一份到開發板上的同名目錄下,不過開發板上的/opt下沒位置可以拷貝,需要先插上一片sd卡到開發板上,把卡格式化成EXT3檔案系統格式,掛載sd卡到開發板/sdcard目錄下(掛載是自動完成的,重啟開發板就能識別sd卡並掛載成功),然後拷貝這個編譯好的庫到/sdcard目錄下:
以NFS掛載開發板,假設nfs目錄是pc機上的/home/akaedu/rootfs目錄。
pc機上把庫目錄拷貝到nfs目錄,執行 cp -a /opt/QtPalmtop
/home/akaedu/rootfs
開發板上拷貝庫到sd卡上,假設nfs掛載到了開發板的/mnt下,執行
mkdir -p /sdcard/opt;cp -a /mnt/QtPalmtop /sdcard/opt/
在開發板上執行mv /opt /opt_bak;ln -s /sdcard/opt /opt
f)、在開發板的/etc目錄下,修改profile檔案,在最後增加三行
export LD_LIBRARY_PATH=/opt/QtPalmtop/lib
export QWS_DISPLAY="LinuxFb:/dev/fb1"
export QWS_SIZE="800x480"
此時開發板上就有庫可以執行Qt程式了。
3、交叉編譯project_stu:
PC機上解壓縮project_stu.tar.bz2,進到解壓縮之後的project_stu目錄下
執行/opt/QtPalmtop/bin/qmake -project
(如果Qt程式中使用了QTcpSocket類,有網路相關代碼,需在此時增加一步,修改project_stu目錄下的project_stu.pro檔案,在最後增加一行
QT += network,這個可以不用加)
再執行/opt/QtPalmtop/bin/qmake
再執行make,最後在此目錄中得到一個交叉編譯後的可執行檔,與目錄名相同,叫project_stu,此檔案顯示project_stu/pic目錄下的jpg檔案和project_stu目錄下的theme1.png檔案,所以不能單獨拷貝此檔案到開發板,而應該拷貝整個project_stu目錄到開發板上,任意路徑下均可,推薦拷貝到sd卡目錄下。
4、重啟開發板,在開發板上執行:
進到project_stu目錄,執行./project_stu -qws -nomouse,正常的話,此時應該能在fb1這一層上顯示Qt介面了。
5、下面要在fb0這一層上顯示視頻,fb0在下,fb1層在上,fb1中Qt介面的黑色部分是透明的,會顯示fb0中的視頻:
a)、把mplayer可執行程式拷貝到開發板上的/sdcard目錄下
b)、在開發板/etc/init.d目錄下修改rcS檔案,在最後增加兩行:
cd /sdcard/project_stu && ./project_stu -qws -nomouse &
cd /sdcard && ./mplayer -x 540 -y 350 (某一個開發板上的視頻檔案名稱)
c)、上面的視頻檔案需用視頻處理工具把視頻原始大小正好調整為540x350,否則交由mplayer來縮放的話,視頻播放速度明顯很卡,因為mplayer是軟體解碼的,縮放映像到播放器大小需要大量的CPU運算。視頻檔案尺寸大小調整工具windows下有很多,請在網上找找看。在windows上下載一個轉換工具,安裝並轉換視頻檔案。
6、重啟開發板,應該就可以看到期待的效果了:Qt和mplayer視窗重疊在一起執行。