红联Linux门户
Linux帮助

在Debian Linux Stable中搭建ARM+Qt 4.7.1的嵌入式开发环境

发布时间:2015-02-23 09:53:49来源:linux网站作者:jiyeqian

下载:http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.1.tar.gz
在Debian Linux Stable中搭建ARM+Qt 4.7.1的嵌入式开发环境

以上图片上传到红联Linux系统教程频道中。


一、安装交叉编译工具链

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


五、安装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

如果一切正常,可看到如本文开篇所示的结果。