热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Debian系统中搭建ARM+Qt4.7.1的嵌入式开发环境

?相关阅读:Linux下Qt4.6.0嵌入式开发环境的搭建、移植下载:http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.1.tar.gz一、安装交叉编译工具链1、在/etc/apt/sources.list中添加源:debhttp://

 在 Debian Linux Stable 中搭建 ARM + Qt 4.7.1 的嵌入式开发环境 - 极夜.潜 - 极夜.潜的博客?

相关阅读:Linux 下 Qt 4.6.0 嵌入式开发环境的搭建、移植

下载:http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.1.tar.gz

一、安装交叉编译工具链

1、在  /etc/apt/sources.list 中添加源:deb http://www.emdebian.org/debian/ stable main

(教育网IPV6用户推荐:deb http://debian6.ustc.edu.cn/emdebian/toolchains/ 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

 相关阅读:The Virtual Framebuffer,The VNC Protocol and Qt for Embedded Linux

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

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

$ ./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

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


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • 阿里云服务器iis设置方法与上千种Linux桌面版本相比,Linux服务器只有可怜的十几种。但想要选对适合你的企业需要的仍然不是件容易的事情,选Linux服务器首先要 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • Kali Linux 简介
    KaliLinux是世界渗透测试行业公认的优秀的网络安全审计工具集合,它可以通过对设备的探测来审计其安全性,而且功能完备,几乎包含了目前所 ... [详细]
  • 如何将CentOS8转换为CentOSStream
    CentOS Stream是一个持续交付的Linux发行版,它在RHEL之前处于领先地位。它将具有滚动发布,即不断进行更改。CentOS将成为一个上游版本,它将具有测试补丁和更新。 ... [详细]
  • Linux神奇漏洞:长按回车键70秒 即可轻松拿到Root权限
    一般来说获取系统root权限是很困难的,尤其是加密系统中,但西班牙安全研究员hectormarco、ismaelripoll发现,linux系统下只需按住回车键70秒钟,就能轻 ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • Docker安装Rabbitmq(配合宝塔)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker安装Rabbitmq(配合宝塔)相关的知识,希望对你有一定的参考价值。一、事前准备 ... [详细]
  • 系统安装Debian系统的安装方式和Ubuntu系统的安装方式几乎是一样的,毕竟Ubuntu系统是基于Debian的,就如同CentOS基于Redhat ... [详细]
author-avatar
手机用户2502926053_634
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有