Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46586
  • 博文数量: 21
  • 博客积分: 855
  • 博客等级: 准尉
  • 技术积分: 230
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-20 14:19
文章分类
文章存档

2011年(1)

2009年(20)

我的朋友
最近访客

分类: LINUX

2009-03-20 14:45:21

一.   安装G++

二.   安装X11的相关库函数和开发包

#Sudo apt-get –y install x-dev libx11-dev xlibs-static-dev x11proto-xext-dev libxext-dev libqt3-mt-dev

 

Sudo mkdir –p /usr/X11R6/include

Sudo cp –rf /usr/include/X11   /usr/X11R6/include/

 

三.   安装集成开发环境:

#sudo apt-get install kdevelop3

#sudo apt-get install konsole

 

四.   交叉编译JPEG

1.#tar jxvf jpegsrc.v6b.tar.gz

  #./configure –enable-shared –enable-static –prefix=/gcc-3.4.5-glibc-2.3.6/arm-linux –build=i386 –host=arm

 

2.修改Makefile:

Cc = gcc 改为 CC = arm-linux-gcc

AR = ar rc 改为 AR=arm-linux-ar rc

AR2=randlib 改为 AR2=arm-linux-randlib

 

3.编译和安装

Make

Make install-lib

 

4.安装uuid

#tar zxvf e2fsprogs-1.40.2.tar.gz

#cd e2fsprogs-1.40.2

#Mkdir build; cd build

#../configure –with-c=arm-linux-gcc –with-linker=arm-linux-ld –enable-elf-shlibs –host=arm –prefix=/gcc-3.4.5-glibc-2.3.6/arm-linx

#make

#make install-libs

 

五.   修改QT文件

1.#tar zxvf qtopia-free-src-2.2.0.tar

2.修改配置文件qtopia/src/qt/qconfig-qpe.h,打开键盘等支持

// Mouse not normally supported or needed.

// (enabling these, eg. so that USB mouse works can be done,

// but cursor should be turned on/off when device connected)

#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

 

3.修改qt2/src/tools/qvaluestack.h

       if ( !this->isEmpty() )

           this->remove( this->fromLast() );

 

4.修改qt2/src/kernel/qwindowsystem_qws.h

在文件开头增加两个类的声明:

Class QWSInputMethod;

Class QWSGestureMethod;

 

5.修改qtopia/src/libraries/qtopia/backend/event.cpp

修改前:

419              while ( !( i & day ) && i <= Event::SUN ) {

修改后:

419     while ( !( i & day ) && (int)i <= Event::SUN ) {

 

6.修改qtopia/src/libraries/qtopia/qdawg.cpp

修改前:

294        QDawgPrivate::~QDawgPrivate()

修改后

294        ~QDawgPrivate()

 

7.修改qtopia/src/libraries/qtopia2/thumbnailview_p.h

修改前:

81        void ThumbnailItem::paintItem(QPainter *, const QColorGrop &)

修改后:

81      void paintItem(QPainter *, const QColorGrop &)

 

8.修改qtopia/src/libraries/qtopiapim/abtable_p.h

修改前:

276  QListViewItem  * PhoneTypeSelector::addType(QListViewItem * prevItem, )

修改后:

QListViewItem  *addType(QListViewItem * prevItem, )

 

9.修改qtopia/src/libraries/qtopiapin/numberentry_p.h

修改前:

Bool Number EntryDialog::eventFilter(QObject *o, QEvent *e)

修改后:

Bool  eventFilter(QObject *o, QEvent *e)

 

10.修改qtopia/src/libraries/mediaplayer/videoviewer.cpp

修改前:

52        SimpleVideoWidget::SimpleVideoWidget(QWidget *parent);

修改后:

52   SimpleVideoWidget(QWidget *parent);

 

11.修改qtopia/src/applications/addressbook/ablabel.h

修改前:

78        bool  AbLabel::decodeHref(const

修改后:

79        bool  decodeHref(const

 

12.修改qtopia/src/games/minesweep/minefield.h

修改前:

105        void Mine Field::setState

106        void MineField::placeMines

修改后:

105   voiid setState

106   void placeMines

 

13.修改qtopia/src/settings/buttoneditor/buttoneditordialo.h

修改前:

56        ServiceRequest ButtonEditorDialog::actionFor

修改后:

56     erviceRequest actionFor

 

14.修改qtopia/src/settings/qipkg/packagewizard.h

修改前:

106  PageItem * PackageWizard::current() const;

修改后

106  PageItem *current() const;

 

16.修改qtopia/src/plugins/inputmethods/keyboard/keyboard.h

修改前:

60  KeyboardPicks::~KeyboardPicks()

修改后:

60  ~KeyboardPicks()

 

17.修改qtopia/src/plugins/decorations/polished/polished.h

修改前:

58  void PolishedDecoration::drawBlend

修改后:

58 void  drawBlend

 

18.修改qtopia/src/server/inputmethods.cpp

修改前:

IMToolButton:: IMToolButton

修改后

IMToolButton(QWiget

 

六.   配置.编译,安装Qtopia

1.       复制两个文件:

#cd qtopia/src/libraries/qtopia/

#cp cursto-linux-cassiopeia-g++.h  custom-linux-arm-g++.h

# cp cursto-linux-cassiopeia-g++.cpp  custom-linux-arm-g++.cpp

#cd –

 

2.       配置qtopia-free-2.2.0

#./configure –qte ‘-embedded –no-xft –xplatform linux-arm-g++ -qconfig qpe -depths 16,32 –no-qvfb –system-jpeg –gif’ –qpe ‘-xplatform linux-arm-g++ -edition pda –displaysize 240*320’ –qt2 ‘-no-xft’ –dqt ‘-no-xft’

 

#make

#make install

它将把所有必需的目录,文件复制到qtopia/image/opt/Qtopia目录下

 

3.       复制QT所依赖的JPEG,UUID

Cp libjpeg.*  fs_mini/lib –d

Cp libuuid.*  fs_mini/lib –d

 

4.       复制字库

Cd qtopia-free-2.2.0

Cp –rf qt2/lib/fonts  qtopia/image/opt/Qtopia/lib

 

5.       qtopia/image/opt/整个目录复制到开发板目录上

Cp –rf qtopia/image/opt  fs_mini/

 

6.       创建时区文件,直接使用主机中的时区文件

Cd fs_mini

Mkdir –p usr/share/zoneinfo/

Cp –rf  /usr/sharezoneinfo/America  usr/share/zoneinfo

Cp /usr/share/zoneinfo/zone.tab  usr/share/zoneinfo

 

7.       仿造触触摸屏校验文件:

在板子上,建立文件 /etc/pointercal,内容为:1 0 1 0 1 1 65536

 

 

8.       建立一个脚本文件/bin/qpe.sh,用来运行qtopia

#!/bin/sh

 

export HOME=/root

export QTDIR=/opt/Qtopia

export QPEDIR=/opt/Qtopia

export QWS_DIRPLAY=linuxFb:/dev/fb0

export QWS_KEYBOARD="TTY:/dev/tty1"

export QWS_MOUSE_PROTO="USB:/dev/mouse0"

export PATH=$QPEDIR/bin:$PATH

export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH

$QPEDIR/bin/qpe &

 

9.       /tmp目录上挂接tmpfs文件系统

建立/tmp目录

Mkdir tmp

 

修改etc/fstab文件,加入一行

Tmpfs  /tmp  tmpfs  defaults  0  0

 

10.   修改etc/init.d/rcS,加入一行:

/bin/qpe.sh  &

 

11.   修改属性:

Chmod +x ./qpe.sh

 

12.   禁止用tty1来启动控制台

#tty1::askfirst:-/bin/sh

 

13.   libstdc++拷到/lib

Cp –rf libstdc++.*  fs_mini/lib/ -d

 

14.   libgcc_s.so拷到/lib

Cp –rf libgcc_s.*  fs_mini/lib/  -d

 

15.   libdl.so拷到/lib

Cp –rf libdl.*  fs_mini/lib/  -d

 

16.   板子上电时,先把USB鼠标接上去

 

17.建立鼠标设备:

#mknod /dev/input/mouse c 13 32

#mknod /dev/mouse0 c 13 32

 

阅读(1019) | 评论(0) | 转发(0) |
0

上一篇:十六.LCD驱动移植

下一篇:使用Automake

给主人留下些什么吧!~~