host 环境 :fedora-10系统 完全安装 ,交叉编译 工具arm-linux -gcc-2.95.3
target 环境 :arm s3c2410,320x240屏外加触摸屏
(驱动 已经装好),yaffs 文件 系统。
软件 : arm-linux-gcc 2.95.3
qtopia-free-src-2.2.0.tar.gz
e2fsprogs-1.40.2.tar.gz=>(e2fs)
jpegsrc.v6b.tar.gz=>(jpeg)
tslib-0.1.1tar.bz2=>(tslib)
上面的软件包放在/MY2410/qtopia-2.2.0
(1)安装arm-linux-gcc-2.95.3
由于在用arm-linux-gcc-3.4.1编译qtopia-free-2.2.0的时候会报错,所以就安装arm-linux-gcc-2.95.3了.
[bingchuan@ARM ~]$ cd /MY2410/qtopia-2.2.0/
[bingchuan@ARM qtopia-2.2.0]$ tar xzf arm-linux-gcc-2.95.3.tgz
[bingchuan@ARM qtopia-2.2.0]$cd usr/local/arm
[bingchuan@ARM arm]$ sudo mv 2.95.3 /usr/local/arm
然后在/etc/profile 里面最后以后加上环境变量:
export PATH=/usr/local/arm/2.95.3/bin
(2)安装e2fs:
[bingchuan@ARM ~]$ cd /MY2410/qtopia-2.2.0/
[bingchuan@ARM qtopia-2.2.0]$ tar xzf e2fsprogs-1.40.2.tar.gz
[bingchuan@ARM e2fsprogs-1.40.2]$ mkdir build; cd build
[bingchuan@ARM build]$ ../configure --host=arm-linux --with-cc=/usr/local/arm/2.95.3/bin/arm-linux-gcc --with-linker=/usr/local/arm/2.95.3/bin/arm-linux-ld --enable-elf-shlibs --prefix=/usr/local/arm/2.95.3/arm-linux
[bingchuan@ARM build]$ make
[bingchuan@ARM build]$ make install
进行上面几步操作以后e2fs文件就安装到/usr/local/arm/2.95.3/arm-linux里面了。
(3)安装jpeg:
[bingchuan@ARM qtopia-2.2.0]$ tar xzf jpegsrc.v6b.tar.gz
[bingchuan@ARM qtopia-2.2.0]$ cd jpeg
[bingchuan@ARM qtopia-2.2.0]$ cd jpeg-6b/
[bingchuan@ARM jpeg-6b]$ ./configure --enable-shared --enable-static --prefix=/usr/local/arm/3.4.1/arm-linux --build=i386 --host=arm
[bingchuan@ARM jpeg-6b]$ vi Makefile
修改:
CC= arm-linux-gcc
AR= arm-linux-ar rc
AR2=arm-linux-ranlib
保存后,执行”make”,”make install”命令 即可。
(4)编译tslib
[bingchuan@ARM ~]$ cd /MY2410/qtopia-2.2.0/
[bingchuan@ARM qtopia-2.2.0]$ mkdir test
[bingchuan@ARM qtopia-2.2.0]$ tar xjf tslib-0.1.1tar.bz2
[bingchuan@ARM qtopia-2.2.0]$ cd tslib
[bingchuan@ARM tslib]$ ./autogen.sh //生成config文件
[bingchuan@ARM tslib]$ export PATH=/usr/local/arm/2.95.3/bin:$PATH
[bingchuan@ARM tslib]$ echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
[bingchuan@ARM tslib]$ ./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no --prefix=/MY2410/qtopia-2.2.0/test
[bingchuan@ARM tslib]$ make
[bingchuan@ARM tslib]$ make install
经过上面操作后,生成的tslib库文件就安装在/MY2410/qtopia-2.2.0/test下面了。
(5)编译Qtopia
[bingchuan@ARM qtopia-2.2.0]$ tar xzf qtopia-free-src-2.2.0.tar.gz
[bingchuan@ARM qtopia-2.2.0]$ cd qtopia-free-2.2.0/
修改文件
/qtopia-free-2.2.0/qtopia/mkspecs/qws/linux-arm-g++/qmake.conf(由于些文件为只读文件,可用chmod命令给些文件加上W的权限 ,否则修改不了!)
将此行
QMAKE_LIBS_QT = -lqte
修改为
QMAKE_LIBS_QT= -lqte -lts -luuid -ljpeg
如果想让Qtopia自己支持触摸屏,需要修改$QPEDIR/qtopia/src/qt/qconfig-qpe.h文件,定义相应的宏,在最后加上
#define QT_QWS_IPAQ
#define QT_QWS_IPAQ_RAW
如果想让Qtopia支持鼠标,需要修改$QPEDIR/src/qt/qconfig-qpe.h文件
注释如下部分:
/*
#ifndef QT_NO_QWS_CURSOR
#define QT_NO_QWS_CURSOR
#endif
#ifndef QT_NO_QWS_MOUSE_AUTO
#define QT_NO_QWS_MOUSE_AUTO
#endif
#ifndef QT_NO_QWS_MOUSE_PC
#define QT_NO_QWS_MOUSE_PC
#endif
*/
在配置之前还要执行以下操作
[bingchuan@ARM qtopia-free-2.2.0]$ cd qtopia/src/libraries/qtopia/
[bingchuan@ARM qtopia]$ cp custom-linux-cassiopeia-g++.h custom-linux-arm-g++.h
[bingchuan@ARM qtopia]$ cp custom-linux-cassiopeia-g++.cpp custom-linux-arm-g++.cpp
[bingchuan@ARM qtopia]$ cd -
/MY2410/qtopia-2.2.0/qtopia-free-2.2.0
[bingchuan@ARM qtopia-free-2.2.0]$ pwd
/MY2410/qtopia-2.2.0/qtopia-free-2.2.0
[bingchuan@ARM qtopia-free-2.2.0]$ ./configure -qte "-embedded -no-xft -xplatform linux-arm-g++ -qconfig qpe -depths 16,32 -no-qvfb -system-jpeg -gif -thread -no-xft -release -tslib -I/MY2410/qtopia-2.2.0/test/include -L/MY2410/qtopia-2.2.0/test/lib -lts " -qpe '-xplatform linux-arm-g++ -edition pda -displaysize 320x240 ' -qt2 '-no-xft' -dqt '-no-xft'
yes
[bingchuan@ARM qtopia-free-2.2.0]$ make //这个过程很漫长不出错的话约一小时吧
[bingchuan@ARM qtopia-free-2.2.0]$ make install
/qtopia/image/opt/Qtopia 里面就是这次编译所生成的镜像文件
(6)出现的错误:
“canot find lqt-mt”
解决 办法:直接搜索拷贝:
[bingchuan@ARM ~]$ sudo find / -name libqt-mt*
/usr/lib/qt-3.3/lib/libqt-mt.so.3.3
/usr/lib/qt-3.3/lib/libqt-mt.prl
/usr/lib/qt-3.3/lib/libqt-mt.so.3.3.8
/usr/lib/qt-3.3/lib/libqt-mt.so
/usr/lib/qt-3.3/lib/libqt-mt.so.3
[bingchuan@ARM ~]$ cp /usr/lib/qt-3.3/lib/libqt-mt* /MY2410/qtopia-2.2.0/qtopia-
qtopia-2.2.0bianyiguocheng qtopia-free-2.2.0/
qtopia-2.2.0bianyiguocheng~ qtopia-free-src-2.2.0.tar.gz
[bingchuan@ARM ~]$ cp /usr/lib/qt-3.3/lib/libqt-mt* /MY2410/qtopia-2.2.0/qtopia-free-2.2.0/qtopia/lib/
重新make 没有报错。
本文来自ChinaUnix博客,如果查看原文请点: http://blog.chinaunix .net/u3/94352/showart_1893396.html
详细解决方案
fedora-10 qtopia2.2.0
热度:77 发布时间:2023-12-09 03:17:50.0
相关解决方案
- fedora 上 j2me 的 中文 乱码
- fedora 10 上rxtx 无法打开moxa卡cp-168u串口/dev/ttyM0 跪命!
- 学嵌入式开发,装LINUX用什么发行版本美?UBUNTU FEDORA REDHAT
- 学嵌入式开发,装LINUX用什么发行版本好?UBUNTU FEDORA REDHAT解决思路
- fedora 16 上 eclipse svn 插件安装
- Fedora 17下 Eclipse Indigo (3.7.2)崩溃退出解决方案
- Fedora 12 eclipse 起步失败 JVM terminated. Exit code=-1
- 转 Fedora Eclipse键盘失效的解决方案
- Fedora 5下安装oracle9i,该如何处理
- qtopia2.2.0程序交叉编译不过解决方法
- fedora 17的用户登录密码忘记了该怎么处理
- fedora 没法进入 root
- Fedora 20 配置php 默认路径有关问题
- fedora 26添加163源
- fedora 10 yum lamp
- Fedora Core 2 下字体与输入法设置的解释
- qtopia2.2.0 编译 错误
- fedora-10 qtopia2.2.0
- fedora 17 iptables存储到文件的方法
- Fedora 29配置 Vscode 出现#include errors detected. Please update your includePath. IntelliSense
- [WIP] Fedora 17上部署Ceph ( by quqi99 )
- Fedora 17上安装virtualbox
- Fedora 16上源码建立pydev + eclipse的OpenStack开发环境笔记草稿 ( by quqi99 )
- 帮助 Fedora 选择一个新 LOGO;Hadoop 巨头完成合并
- Fedora 负责人 Gafton 去世;防止云计算白嫖的新开源协议酝酿中
- Fedora Linux 诞生 15 年;Waymo 自动驾驶发生事故,错在驾驶员
- Chrome OS 优化 Android 和 Linux 文件管理;Fedora 29 不会弃用 Yum
- Fedora all versions download
- How to install PostgreSql 10 to Fedora 27
- Linux(Fedora)下安装DB2客户端