搭建ARM + Qt 4.7.1的嵌入式開發環境
2015/11/03 15:44
瀏覽1,041
迴響0
推薦0
引用0
一、安裝交叉編譯工具鏈
1、在 /etc/apt/sources.list 中添加源:deb http://www.emdebian.org/debian/ stable main
(教育網IPV6用戶推薦:deb http://debian6.ustc.edu.cn/emdebian/toolchains/ stable main)
2、安裝相應包:
# apt-get update
# apt-get install cpp-4.3-arm-linux-gnueabi g++-4.3-arm-linux-gnueabi gcc-4.3-arm-linux-gnueabi gobjc++-4.3-arm-linux-gnueabi gobjc-4.3-arm-linux-gnueabi
二、編譯安裝 PC 版的 Qt
$ ./configure -opensource -confirm-license
$ make -j4
# make install
設置環境變量,在~/.bashrc 中加入:
export PATH=/usr/local/Trolltech/Qt-4.7.1/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.7.1/lib:${LD_LIBRARY_PATH}
$ source ~/.bashrc
三、編譯 qvfb
切換到目錄:qt-everywhere-opensource-src-4.7.1/tools/qvfb
$ export CPLUS_INCLUDE_PATH=../../include/QtCore
$ qmake
$ make -j4
# cp ../../bin/qvfb /usr/local/Trolltech/Qt-4.7.1/bin/
四、編譯安裝 arm 版的 Qt
1、 $ ./configure -opensource -confirm-license -embedded arm -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
中途出錯,修改qt-everywhere-opensource-src-4.7.1/mkspecs/default/qmake.conf 後繼續configure,修改如下:
# modifications to g++.conf
QMAKE_CC = arm-linux-gnueabi-gcc
QMAKE_CXX = arm-linux-gnueabi-g++
QMAKE_LINK = arm-linux-gnueabi-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy
QMAKE_STRIP = arm-linux-gnueabi-strip
2、$ make -j4
3、# make install
相關閱讀:The Virtual Framebuffer,The VNC Protocol and Qt for Embedded Linux
五、安裝qemu,在 PC 中運行 arm 程序
(由於源中的 qemu 和工具鏈不匹配,安裝新的 qemu-0.13.0 。)
$ ./configure
$ make -j4
# make install
六、測試
1、測試著名的 helloworld(假設~/arm/ 中有 helloworld.c)
$ arm-linux-gnueabi-gcc -o helloworld helloworld.c
(查看文件信息 $ file helloworld,可見:ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped)
$ qemu-arm -L /usr/arm-linux-gnueabi/ ~/arm/helloworld
如果一切正常,可看到經典輸出。
2、測試 Qt 程序
$ qvfb -width 800 -height 600 &
$ qemu-arm -L /usr/arm-linux-gnueabi/ /usr/local/Trolltech/QtEmbedded-4.7.1-arm/demos/affine/affine -qws
如果一切正常,可看到如本文開篇所示的結果。
你可能會有興趣的文章:
限會員,要發表迴響,請先登入