Ubuntu下嵌入式Qt开发环境配置全攻略

mkdir /opt/QtEmbedded-4.4.3-i386

export QTOPIA_DEPOT_PATH=$PWD/qt-extended-4.4.3

export QPEDIR=/opt/QtEmbedded-4.4.3-i386/

export LC_ALL=\ export LC_TIME=\ export LC_MONETARY=\ export LC_ADDRESS=\ export LC_TELEPHONE=\ export LC_NAME=\ export LC_MEASUREMENT=\ export LC_IDENTIFICATION=\

export LC_NUMERIC=\ export LC_PAPER=\ export LC_CTYPE=\ export LANG=\ export LANGUAGE=\

cd $QPEDIR

echo yes | $QTOPIA_DEPOT_PATH/configure -ui-type mobile -release -clean -sound-system oss -build-qt -no-sxe -no-ssl -no-v4l2 -no-vpn -no-phonon -no-libamr -dynamic-rotation -mediaengines cruxus -remove-mediaengine gstreamer,helix -pictureflow -remove-module bluetooth,drm -no-dbus -no-dbusipc -add-displaysize 240x320 -extra-qt-embedded-config \-no-dbus -qt-gfx-transformed -qt-gfx-linuxfb\ -extra-qt-config \

2>&1 | tee ./qtopiaconfig.log

bin/qbuild 2>&1 | tee ./qtopiamake.log

bin/qbuild image

对友善之臂自带脚本的修改主要有:

① 按网文说法更改了语言设置,不过似无必要(未详细考证),编译输出的提示中会有乱码,好在不影响结果。

② 将-sound-system参数值由alsa改为oss,否则会爆出alsa disabled错误。

③ 更改了编译输出目录为/opt/QtEmbedded-4.4.3-i386,方便以后使用。

2>&1 | tee ./qtopia???.log语句作用是将编译过程中的输出信息同时输出到屏幕和log 文件中。

错误:

In file included from ../../include/QtGui/private/qcups_p.h:1:0,

from

/home/gaosheng/x86-qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/src/gui/painting/qpdf.cpp:42:

/home/gaosheng/x86-qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/src/gui/painting/qcups_p.h:74:11: error: 'ppd_file_t' does not name a type

解决:

~/x86-qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/src/gui/painting/qcups_p.h中加入#include

#ifndef QT_NO_CUPS #include #include

#include ----加上这一行 重新执行上述脚本。

编译成功后,还要从~/qtsdk-2010.05/qt/bin目录下拷贝qvfb文件到/opt/QtEmbedded-4.4.3-i386/sdk/qtopiacore/host/bin目录下。

7. 编译arm-qtopia-4.4.3 cd ~

tar xvzf arm-qt-extended-4.4.3-20101105.tgz cd arm-qt-extended-4.4.3

arm-qtopia-4.4.3的编译安装比较简单,友善之臂提供的编译安装脚本基本是可用的,笔者只是改了开头几个命令:

#!/bin/bash

mkdir /opt/QtEmbedded-4.4.3-arm/

export QTOPIA_DEPOT_PATH=$PWD/qt-extended-4.4.3

export QPEDIR=/opt/QtEmbedded-4.4.3-arm/

export PATH=/opt/FriendlyARM/mini6410/linux/arm-gcc-4.4.1/bin/:$PATH

export LC_CTYPE=\

从最后一行起,再往后与友善之臂原版的build-all脚本就完全一样了,修改目的还是将编译好的程序放在/opt/QtEmbedded-4.4.3-arm/目录下,方便以后使用。

发生问题及解决办法似上:

vi

~/arm-qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/src/gui/painting/qcups_p.h

加#include

四、测试编译结果

启动~/qtsdk-2010.05/qt/bin目录下的qfvb程序,然后进入/usr/local/Trolltech/QtEmbedded-4.6.1-i386/demos目录,任选一个子目录下的可执行文件,加-qws参数在命令行下执行,如执行成功则说明x86-qte编译成功。

测试的例子:

cd ~/qtsdk-2010.05/qt/bin ./qvfb &

/usr/local/Trolltech/QtEmbedded-4.6.1-i386/demos/affine/affine -qws

再如:

cd ~/qtsdk-2010.05/qt/bin ./qvfb &

/usr/local/Trolltech/QtEmbedded-4.6.1-i386/demos/books/books -qws

要测试x86-qtopia,进入/opt/QtEmbedded-4.4.3-i386目录,执行:

./bin/runqtopia

将显示出一个诺基亚手机界面。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4