热门标签 | 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

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


推荐阅读
  • 在Ubuntu 14.04 (Desktop AMD64) 上安装与配置ROS Indigo
    本文档详细介绍了如何在Ubuntu 14.04 (Desktop AMD64) 系统上安装和配置ROS Indigo。包括设置软件源、安装ROS核心组件、初始化rosdep以及创建ROS工作空间等步骤。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文详细介绍了 Linux 系统中用户、组和文件权限的设置方法,包括基本权限(读、写、执行)、特殊权限(SUID、SGID、Sticky Bit)以及相关配置文件的使用。 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 本文探讨了Unix和Linux操作系统的起源和发展历程。从20世纪60年代计算机技术的初期阶段,到Unix的诞生及后续Linux的崛起,文章详细介绍了这些操作系统如何逐步成为现代计算不可或缺的一部分。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 本文详细介绍了如何使用Layui框架实现动态和静态数据表的分页功能,具有较高的实用性和参考价值。适合需要开发管理后台的开发人员参考。 ... [详细]
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社区 版权所有