您的位置:首页 > 产品设计 > UI/UE

嵌入式 QT GUI 编译环境搭建全过程-------阿超

2008-10-23 23:45 295 查看
这篇文章是我写的第一篇嵌入式技术文章,其实也不算文章了,只是一个自己学习的总结。在学习QT编译环境搭建时候遇到了很多问题,只要细心就一定能够解决的。因为有纪念价值所以就发上来,如果兄弟们遇到相同的问题都可以来看下。呵呵

在网上看了N篇关于QT交叉编译环境的文章,大多都不适合,我也不知道为什么,比较有用的还是阿南写的那篇《嵌入式入门笔记》。总结了以上,写出了个自己的版本,就算是做个纪录吧。

所用程序包及版本:

qt-embedded-2.3.7.tar.gz qtopia-free-1.7.0.tar.gz qt-x11-2.3.2.tar.gz tmake-1.1.1.tar.gz

基础知识:

Qtopia 是桌面系统应用程序

Qt-e 是应用程序的运行环境(库)

Qt-x11 是编译所需要的工具包 包括UIC,MOC,DESIGNER等

宿主机: 都是在linux-g++

1. 编译QT-X11工具包

2. 编译QT-E库

3. 设置环境变量,主义指定平台。

4. 编译基于QT-E库的应用程序 (注意指定编译器)

5. 编译运行 QTOPIA (注意指定平台)

6. 将应用程序添加到桌面系统QTOPIA

目标机: 编译器 linux-arm-g++ 配置支持触摸屏

1. 编译QT-X11工具包同宿主机一样,不改变任何项。

2. 编译QT-E库指定编译器以及tmake。增加触摸屏支持。

3. 编译运行基于QT-E的应用程序(开发板测试)--------最终目标

4. 编译QTOPIA

指令:

编译QT-X11指令:

Cd qt-x11

Export QTDIR=$PWD

Echo yes | ./configure –static –no-xft –no-opengl –no-sm –thread –system-jpeg –system-libpng –gif (可以用./configure –help 来查看可选参数)

Make –C src/moc

Cp src/moc/moc bin

Make –c src (在这里会报错,解决方案在后面)

Make –C tools/designer

Make –C tools/qvfb

Cp tools/qvfb/qvfb bin

Strip bin/uic bin/moc bin/designer bin/qvfb

错误解决:

在make –c src 部分的时候会报错 qxml.o

解决:修改include/qvaluestack.h 第57行修改为this->remove

编译QT-E 指令:

Export QTDIR=$PWD/qt-e

Export QPEDIR=$PWD/qtopia

Export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

Export TMAKEDIR=$PWD/tmake

Export TMAKEPATH=$PWD/tamke/lib/qws/linux-arm-g++

Export PATH=$PWD/tmake/bin:$PATH

将开发板所带配置文件 qconfig-local.h 复制到src/tools/

./configure –xplatform linux-arm-g++ -qconfig local –depths 32 –thread

Make (在这里也会报错)

错误解决:

在make 的时候会报错allmoc.o

解决:在src/kernel/qwindowsystem_qws.h 前加入类引用

Class QWSInputMethod;

Class QWSGestureMethod;

编译应用程序的指令:

环境变量的设定:

Export QTDIR=/home/mick/QTE/HOME/qt-e

Export QPEIDR=/home/mick/QTE/HOME/qtopia

Export LD_LIBRARY_PATH=/home/mick/QTE/HOME/qt-e/lib:$LD_LIBRARY_PATH

Export TMAKEDIR=/home/mick/QTE/HOME/tmake

Export TMAKEPATH=/home/mick/QTE/HOME/tmake/lib/qws/linux-arm-g++

Export PATH=/home/mick/QTE/NEW/tmake/bin:$PATH

工程文件:

Progen –n hello –o hello.pro

Tmake –o Makefile hello.pro

Make

GUI文件:

Uic –o hello hello.ui

Uic –o hello.cpp –impl hello.h hello.ui

错误解决:

编译应用程序的时候会报错,ld returned 1 exit status

解决:将/tmake/lib/qws/linux-arm-g++/的tmake.conf的tmake_link=linux-arm-gcc和tmake_link_shilb=linux-arm-gcc 都改为G++,重新编译即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: