如何在Windows下构建ARM Linux QT开发环境

如何在Windows下构建ARM Linux QT开发环境,第1张

   在PC上,需要得到两个版本的Qt,分别是:Qt-4.5.2和QtEmbedded-4.5.2-arm。前者包括了QtDesigner等基本工具,用于在PC上对程序的开发调试,使能确保程序放到板子上之前就符合设计的要求;然后用后者的库将调试好的程序编译成能在arm-linux平台上运行的程序。

    Qt-4.5.2用从网上下载到的qt-x11-opensource-src-4.5.2.tar.gz编译后安装得到;QtEmbedded-4.5.2-arm用qt-embedded-linux-opensource-src-4.5.2.tar.gz编译后安装得到,Qt-embedded-linux-opensource-src-4.5.2.tar.gz还可以编译成Qt Embedded-4.5.2-X86,但不需要。在编译qt-embedded-linux-opensource-src-4.5.2.tar.gz之前,必须准备好arm-linux-gcc交叉编译工具,用的是arm-linux-gcc-3.4.1。

所以先要准备好的软件包有:

Pc的 *** 作系统是:LINUX-ubuntu8.04。

下面是具体编译安装过程:

1、Qt-4.5.2的获得将qt-x11-opensource-src-4.5.2.tar.gz复制到目录:/home/chh/Project/qt,

2、然后解压:

#tar zxvf qt-x11-opensource-src-4.5.2.tar.gz

得到一个新目录:qt-x11-opensource-src-4.5.2

cd进入这个目录,准备开始编译。

3、在终端中这样 *** 作:

#./configure –qvfb     //编译配置,此过程大概历时几分钟;  #make                  //正式编译,过程漫长,大概2个多小时;  #cd tools/qvfb            //进入此目录,准备对它进行编译  #make                   //编译,几分钟  #cd ../..                  //回到qt-x11-opensource-src-4.5.2主目录,准备安装  #make install        //安装,十几分钟吧;

4、此步必须以root身份完成,否则无法建立目录

5、可以在/usr/local/下看到一个Trolltech目录,进入该目录发现Qt-4.5.2目录已经出现,进入里面的bin目录,Designer等工具已经可以使用了。

6、编译过程相当费时,所以可以直接拷贝已经编译过的源码,直接make install。

7、至此,Qt-4.5.2的安装已经顺利完成。

    QtEmbedded-4.5.2-arm的获得

在编译安装qt-embedded-linux-opensource-src-4.5.2之前,必须先配置好arm-linux-gcc,将arm-linux-gcc-3.4.1.tar.bz2解压到目录:/usr/local下,此时local下出现一个名为arm的目录,然后配置好环境变量:在/etc/profile添加一句:export PATH=$PATH:/usr/local/arm/3.4.1/bin,保存后#source /etc/profile一下,让它即时生效。 否则下面的编译过程会提示找不到arm-linux-gcc命令。  现在可以开始编译了:

将qt-embedded-linux-opensource-src-4.5.2.tar.gz复制到目录:/home/chh/Project/qt, 然后解压:#tar zxvf qt-embedded-linux-opensource-src.tar.gz,   得到新目录qt-embedded-linux-opensource-src-4.5.2。

    进入qt-embedded-linux-opensource-src-4.5.2目录,首先进行configure。 这里的参数很重要,必不可少的是-embedded arm,所以最简单的配置信息可以这样:

./configure \  -embedded arm

然后回车,就开始configure了,参数设置和参考文章一样,裁减了很多,减少了编译时间:

./configure \  -release \  -shared \  -fast \  -no-largefile \  -qt-sql-sqlite \  -no-qt3support \  -no-xmlpatterns \  -no-mmx \  -no-3dnow \  -no-sse \  -no-sse2 \  -no-svg \  -no-webkit \  -qt-zlib \  -qt-gif \  -qt-libtiff \  -qt-libpng \  -qt-libmng \  -qt-libjpeg \  -make libs \  -xplatform qws/linux-arm-g++ \  -nomake tools \  -nomake examples \  -nomake docs \  -nomake demo \  -no-nis \  -no-cups \  -no-iconv \  -no-dbus \  -no-openssl \  -embedded arm \  -little-endian \  -qt-freetype \  -depths 16,18 \  -qt-gfx-linuxfb \  -no-gfx-transformed \  -no-gfx-multiscreen \  -no-gfx-vnc \  -no-gfx-qvfb \  -qt-kbd-usb \  -no-glib

之后就可以编译了,#make,漫长等待后再 #make install。Make install还是需要root权限。

     完成后,在/usr/local/Trolltech下多了一个目录:Qt Embedded-4.5.2-arm。

一、准备

busybox 1.14.1

qt-embedded-linux-opensource-src-4.5.1

tslib 1.4

gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)

构建一个新的根文件系统目录,路径为

/root/rootfs

二、具体步骤:

1、编译安装busybox

在官网下载最新版。可以参考如下几处要修改的地方:

Busybox Settings --->Build Options --->(arm-linux-)Cross Compiler prefix

Busybox Settings --->Installation Options --->[]Dont't use /usr

Busybox Settings --->Installation Options --->(/root/rootfs) BusyBox installation prefix

Busybox Settings --->Busybox Library Tuning --->[*] Fancy Shell prompts

输入如下命令,编译并安装。

# makemake install

2、编译安装tslib

# ./autogen.sh

# ./configure -prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/ -host=arm-linux ac_cv_func_malloc_0_nonnull=yes

# makemake install

安装目录指明为 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/

主要是为了在编译QTE时,不用指定tslib的头文件和库文件,方便以后程序开发。

注意:在做这一步前,需要做一个目录链接

在/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/目录下

# ln -s ../../usr/include ./

3、编译安装QTE

1)、最基本的配置

# ./configure -prefix /usr -embedded arm -xplatform qws/linux-arm-g++ -depths 16 -qt-mouse-tslib

-prefix /usr 使用这个配置,编译后的QTE库文件即可放在目标文件系统的/usr/lib下,而不是默认/usr/local/Trolltech/QtEmbedded-4.5.1 这个很深的目录

2)、编译

# make

# cp lib/* /root/rootfs/usr/lib -rd 将QTE库文件拷贝到根文件系统的目录

# cp plugins /root/rootfs/usr -rd 将QTE插件目录拷贝到根文件系统的目录

4、根文件系统的设置

1)、这时/root/rootfs/usr下应该有 bin etc include lib sbin目录

tslib生成的etc目录,包含一个tslib的配置文件 nf,编辑此文件,去掉module_raw input前的注释

# mv etc ../ 移动到rootfs的根目录

2)、进行一次清理 *** 作

#arm-linux-strip lib/*.so

#arm-linux-strip usr/lib/*.so

3)、编辑etc/profile,添加以下内容

export QWS_MOUSE_PROTO=Tslib:/dev/event0

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_TSDEVICE=/dev/event0

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONFFILE=/etc/nf

export TSLIB_PLUGINDIR=/usr/lib/ts

最后,通过mkyaffs2image 制作镜像,烧写镜像,启动ts_calibrate校验触屏即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7483770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存