Qt/Qt-embedded-linux 4.5.1 交叉环境的建立

0. 主机环境

  • Linux Red Hat Enterprise Linux AS4.0
  • gcc:gcc-3.4.6(编译qt4.5.1有些过低需要修改qt的源代码文件)
  • g++:g++-3.4.6

1.需要的软件

  • qt-embedded-linux-opensource-4.5.1.tar.gz

2. 安装x86体系的嵌入式板Qt环境(目的是利用这个环境和(qt-x11的应用程序qvfb)进行调试arm体系下的qt程序)

  •     解压qt-embedded-linux-opensource-4.5.1.tar.gz (tar xvzf )
  •     对解压后的文件重命名为qt-embedded-linux-opensource-4.5.1-x86
  •    复制qt-embedded-linux-opensource-4.5.1-x86 改名为 qt-embedded-linux-opensource-4.5.1-arm

2.1 正式开始安装x86的qt-embedded

  •   因为gcc版本有些低再后面make时会出现src/text/qfontengine_ft.cpp 710:错误 所以首先 将 这个文件的710那个函数注释掉。
  • ./configure -embedded x86 -qvfb (configure选项很多 --help查看)
  • make
  • make install

2.2 设置x86的环境变量(默认安装在/usr/local)

  建立一个qt_x86_env.sh脚本文件

  export QTDIR=/usr/local/Trolltech/QtEmbedded-4.5.1

  export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.5.1

  export QWS_KEYBOARD

  export QWS_MOUSE_PROTO

  export PATH=$QTDIR/bin:$PATH

  export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib

  

使脚本生效:source qt_x86_env.sh

3. 安装ARM体系的嵌入式Qt环境(务必建立好交叉工具链croostools建立或手动建立我的arm-linux-gcc是3.3.6比较低遇到问题是#define sysexit(c) exit(c))

参考这个文章吧~

http://lists.trolltech.com/pipermail/qt-embedded-interest/2009-March/000224.html

把src/corelib/global/qlibraryinfo.cpp中
#define sysexit(c) __builtin_exit(c)
改为
#define sysexit(c) exit(c)

参考 http://www.qtcn.org/bbs/read.php?tid=18115&page=e&fpage=17

3.1和安装x86不同之处

  •  所用的编译器是arm-linux-g++(gcc)
  • ./configure 要裁剪很多东西为了轻巧

参考: http://www.cnblogs.com/cnnbboy/archive/2009/06/06/1497780.html

3.2 安装

  •  ./configure -embedded arm -qvfb(根据需要有其他选项)
  • make
  • make install

3.3 设置环境变量(见x86)

4. 编译前面qt-x11下的tools生成qvfb(虚拟帧缓存)

 进入src tools qvfb下make 在bin下生成qvfb

 拷贝到x86 bin下(基本可以和qt-x11说拜拜了)

5. 分别设置环境变量(写程序时方便切换)(qt_x86_env.sh qt_arm_env.sh)

6. 测试程序

 随便找个hello程序

首先 设置好变量qt_arm_env.sh

 qmake -project

qmake

make

查看文件类型 file 执行文件看看是不是在arm体系结构上运行的程序。

可以在x86体系上调试。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值