Chinaunix首页 | 论坛 | 博客
  • 博客访问: 106339
  • 博文数量: 76
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 400
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-18 21:41
文章分类

全部博文(76)

文章存档

2011年(76)

我的朋友

分类:

2011-08-24 17:20:20

 

一、安装交叉编译工具链

1、在  /etc/apt/sources.list 中添加源:deb stable main

(教育网IPV6用户推荐:deb stable main)

2、安装相应包:

# apt-get update

# apt-get install cpp-4.3-arm-linux-gnueabi g++-4.3-arm-linux-gnueabi gcc-4.3-arm-linux-gnueabi gobjc++-4.3-arm-linux-gnueabi gobjc-4.3-arm-linux-gnueabi 

 

二、编译安装 PC 版的 Qt

$ ./configure -opensource -confirm-license 

$ make -j4

# make install

设置环境变量,在~/.bashrc 中加入:

export PATH=/usr/local/Trolltech/Qt-4.7.1/bin:${PATH}

export LD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.7.1/lib:${LD_LIBRARY_PATH}

$ source ~/.bashrc

 

三、编译 qvfb

切换到目录:qt-everywhere-opensource-src-4.7.1/tools/qvfb

$ export CPLUS_INCLUDE_PATH=../../include/QtCore

$ qmake

$ make -j4

# cp ../../bin/qvfb /usr/local/Trolltech/Qt-4.7.1/bin/

 

四、编译安装 arm 版的 Qt

1、 $ ./configure -opensource -confirm-license -embedded arm -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb 

中途出错,修改qt-everywhere-opensource-src-4.7.1/mkspecs/default/qmake.conf 后继续configure,修改如下:

# modifications to g++.conf

QMAKE_CC                = arm-linux-gnueabi-gcc

QMAKE_CXX               = arm-linux-gnueabi-g++

QMAKE_LINK              = arm-linux-gnueabi-g++

QMAKE_LINK_SHLIB        = arm-linux-gnueabi-g++

# modifications to linux.conf

QMAKE_AR                = arm-linux-gnueabi-ar cqs

QMAKE_OBJCOPY           = arm-linux-gnueabi-objcopy

QMAKE_STRIP             = arm-linux-gnueabi-strip

2、$ make -j4

3、# make install

 相关阅读:,

 

五、安装qemu,在 PC 中运行 arm 程序

(由于源中的 qemu 和工具链不匹配,安装新的   。)

$ ./configure

$ make -j4

# make install

 

六、测试

1、测试著名的 helloworld(假设~/arm/ 中有 helloworld.c)

$  arm-linux-gnueabi-gcc -o helloworld helloworld.c

(查看文件信息 $ file helloworld,可见:ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped)

$ qemu-arm -L /usr/arm-linux-gnueabi/ ~/arm/helloworld

如果一切正常,可看到经典输出。

2、测试 Qt 程序

$ qvfb -width 800 -height 600 &

$ qemu-arm -L /usr/arm-linux-gnueabi/ /usr/local/Trolltech/QtEmbedded-4.7.1-arm/demos/affine/affine -qws

如果一切正常,可看到如本文开篇所示的结果。

阅读(570) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~