Linux-QT 开发环境搭建以及编译镜像

搭建Linux-QT 开发环境,需要先搭建Android 的编译环境,然后在Android 编译环境的基础上,再搭建Linux-QT 编译环境。

第一:编译器。

第二:设置环境变量。环境变量设置后,编译的时候,系统才能找到编译器。

第三:库文件。搭建过程中会给通过执行简单的脚本命令来安装库文件,复杂的步骤变的简单有效。

第四:源码。

使用的是“搭建好的Ubuntu 镜像”,只需要改一下环境变量,系统里面的工具和库文件之前都已经安装完毕了。

1 uboot 的编译

Linux-QT 系统中Uboot 和Android4.0.3 的Uboot 源码是通用的,编译环境和编译方法也一样。

2 Linux 内核的编译

Linux-QT 系统中Linux 内核和Android4.0.3 中的Linux 内核源码是一样的,编译环境和编译方法也一样。仅仅是编译的时候使用的配置文件".config "不一样。解压出来内核源码文件夹”iTop4412_Kernel_3.0“。然后需要用QT 内核的配置文件“config_for_linux”将Android4.0.3 内核的配置文件".config" 覆盖,覆盖后就可以编译QT 的内核。具体操作如下:

在Ubuntu 命令行中,执行下面命令:

cp config_for_linux .config

make

执行编译完命令后,在文件夹“iTop4412_Kernel_3.0” --> “arch”-->“arm”-->“boot”下会生成的“zImage”文件,“zImage”文件就是可供下载的内核文件。用户如果想恢复为Android4.0.3 的Linux 内核,在内核源码文件夹中,使用文件“config_for_android”覆盖“.config”文件就可以了。具体操作如下:

在Ubuntu 命令行中,执行下面命令:

cp config_for_android .config

3 Linux-QT 编译的环境以及编译

3.1 编译器和基本库文件的安装

QT 文件系统的编译器和Android4.0.3 的编译器不一样,QT 的编译器包含在压缩包“arm-linux-4.4.1.tar.g”中,将压缩包拷贝到Ubuntu 系统下,接着将压缩包解压到Ubuntu 系统的文件夹“usr”-->“local”-->“arm”下,解压生成文件夹“4.4.1”。然后安装X11 的SDK 库,具体操作如下:

在Ubuntu 命令行中,执行下面命令:

apt-get install libx11-dev libxext-dev libxtst-dev

接着修改环境变量,修改环境变量,具体操作如下:

在Ubuntu 命令行中,执行下面命令:

cd

vim .bashrc

使用vim 编辑器打开环境变量文件“.bashrc”后,修改QT 编译器的路径,添加下面的内容到文件“.bashrc”的最后一行。export PATH=$PATH:/usr/local/arm/4.4.1/bin在环境变量文件中,还有编译Android4.0.3 使用的编译器的路径,这个路径用#注释掉就可以,如下图:

修改完成后保存退出“.bashrc”文件。更新一下环境变量,在Ubuntu 命令行中,执行下面命令:

source .bashrc

测试编译器是否正确安装,在Ubuntu 命令行中,执行下面命令:

arm-none-linux-gnueabi-gcc -v

可以看到系统显示arm-gcc 编译器的版本为“gcc version 4.4.1”。在前面搭建Android4.0.3 编译环境的时候,有一步操作“降低gcc 版本”,但是前面那个“gcc”是x86 的编译器(通过命令#gcc -v 可以查看其版本)。这里用到的“gcc”编译器是arm 编译器,因此它们是两个完全不同的编译器。

3.2 QT 源文件和补丁文件

在Ubuntu 环境中,“root”目录下新建文件夹“yizhi”,具体操作如下,在Ubuntu 命令行中,执行下面命令:

cd /root

mkdir yizhi

接着将压缩包“ARM-qtopia-free-src-2.2.0.tar.gz”拷贝到前面新建的“yizhi”文件夹中,解压压缩包后得到源码文件“qtopia-free-src-2.2.0.tar.gz”和文件“build”。拷贝压缩包“tslib.tar.gz”到Ubuntu 系统下,然后解压到Ubuntu 系统的“usr”-->“local”文件夹下,解压后生成的文件夹“tslib”。

3.3 库文件和编译QT

编译QT 文件还需要一些额外的6 个库文件,这6 个库文件全部在用户光盘“linux”-->“patch”文件夹下。这六个库文件分别是:libXext.so.6.4.0, libXmu.so.6.2.0,libSM.so.6.0.1, libICE.so.6.3.0, libXt.so.6.0.0, libuuid.so.1.3.0其中的5 个库文件,包括“libXext.so.6.4.0“、”libXmu.so.6.2.0“、”libSM.so.6.0.1“、”libICE.so.6.3.0“、”libXt.so.6.0.0”,全部拷贝到Ubuntu 系统的文件夹“usr”

-->“lib32”下。然后创建链接文件,具体操作如下,进入Ubuntu 系统的文件夹“usr”-->“lib32”下,然后在Ubuntu 命令行中,执行下面的命令:

ln -s libXext.so.6.4.0 libXext.so.6

创建链接文件libXext.so.6

ln -s libXext.so.6 libXext.so

创建链接文件libXext.so

ln -s libXmu.so.6.2.0 libXmu.so.6

创建链接文件libXmu.so.6

ln -s libXmu.so.6 libXmu.so

创建链接文件libXmu.so

ln -s libSM.so.6.0.1 libSM.so.6

创建链接文件libSM.so.6

ln -s libSM.so.6 libSM.so

创建链接文件libSM.so

ln -s libICE.so.6.3.0 libICE.so.6

创建链接文件libICE.so.6

ln -s libICE.so.6 libICE.so

创建链接文件libICE.so

ln -s libXt.so.6.0.0 libXt.so.6

创建链接文件libXt.so.6

ln -s libXt.so.6 libXt.so

创建链接文件libXt.so

拷贝剩下的文件“libuuid.so.1.3.0”到Ubuntu 系统的“lib32”文件夹下,然后在Ubuntu命令行中,执行下面的命令:

ln -s libuuid.so.1.3.0 libuuid.so.1

创建链接文件libuuid.so.1

ln -s libuuid.so.1 libuuid.so

创建链接文件libuuid.so

库文件全部处理完成后,接着就可以编译QT 源码了,具体操作如下,在Ubuntu 命令行中,执行下面的命令:

cd /root/yizhi

./build

编译QT 源文件是一个比较漫长的过程。编译完成后会在Ubuntu 系统文件夹“root”-->“yizhi”下生成文件夹“qtopia-free-2.2.0”,这个文件夹就是编译好的QT 文件。在编译好的Qt 文件夹下,我们需要接着处理一下字库文件。具体操作如下,在Ubuntu 命令行中,执行下面的命令:

cp -r /root/yizhi/qtopia-free-2.2.0/qt2/lib/fonts/helvetica*/root/yizhi/qtopia-free-2.2.0/qtopia/image/opt/Qtopia/lib/fonts/然后我们把文件夹"Qtopia"拷贝到Ubuntu 系统的opt 文件夹下,具体操作如下,在Ubuntu 命令行中,执行下面的命令:

cp -r /root/yizhi/qtopia-free-2.2.0/qtopia/image/opt/Qtopia /opt

3.4 第三方库文件

上面编译的时候用到了第三方库文件“3rdpart-lib-for-Qtopia2.2.0.tar.gz”。由于这个库文件直接包含在提供的编译器压缩包“arm-linux-4.4.1.tar.gz”中,在前面解压编译器压缩包的时候,库文件就已经直接解压到Ubuntu 系统中了,所以在编译QT 的时候,用户不用进行额外的处理就可以直接编译生成QT 文件系统。

3.5 生成system.img

生成可以下载的system.img 文件需要工具“mkimage”,这个工具在用户光盘“tools”文件夹下的压缩包“linux_tools.tgz”。拷贝压缩包到Ubuntu 系统的“/”目录下,注意是“/”,然后将压缩包解压。在Ubuntu 的用户目录"topeet"下面,新建一个“Linux+QT”文件夹。拷贝压缩包“root.tar.gz”到新建的“Linux+QT”文件夹下,然后解压,解压后会生成文件夹“root”。然后把前面编译生成的文件夹“Qtopia”拷贝到解压出来的“opt”文件夹中,具体操作如下,在Ubuntu 命令行中,执行下面的命令:

cp -r /root/yizhi/qtopia-free-2.2.0/qtopia/image/opt/Qtopia/home/topeet/Linux+QT/root/opt

红色的topeet 是用户文件夹,如果自己搭建环境,则需要替换成自己设置的用户名。

在执行上面的操作后,最后执行生成二进制文件的命令,在Ubuntu 命令行中,执行下面

命令:

cd /home/topeet/Linux+QT

make_ext4fs -s -l 314572800 -a root -L linux system.img root

执行这一步后,在“Linux+QT”文件夹中就生成了“system.img”文件。最后QT 系统还需要一个镜像文件“ramdisk-uboot.img”,这个镜像文件是通用的,可以直接用编译好的镜像。

到这一步,Linux-QT 需要的全部镜像就都已经制作完成。

时间: 2024-09-28 15:34:56

Linux-QT 开发环境搭建以及编译镜像的相关文章

嵌入式linux QT开发(二)——QT开发环境搭建

嵌入式linux QT开发(二)--QT开发环境搭建 一.Windows系统QT开发环境搭建 操作系统:Windows 7 QT Creator:qt-creator-win-opensource-2.4.1 QT SDK:qt-win-opensource-4.7.4-mingw 1.安装QT Creator 点击qt-creator-win-opensource-2.4.1源程序安装. 2.安装QT SDK 点击qt-win-opensource-4.7.4-mingw源程序安装. 选择mi

深度解析嵌入式QT开发环境搭建

本篇文章介绍的是嵌入式QT开发环境搭建,之前有接触过QT的其他开发环境,那么希望本篇文章对你有所帮组.对于嵌入式相信各位都有了解. Qt的各个版本简介: 1.什么是QT Qt是一个完整的C++应用程序开发框架.它包含一个类库,和用于跨平台开发及国际化的工具.Qt API在所有支持的平台上都是相同的,Qt工具在这些平台上的使用方式也一致, 因而Qt应用的开发和部署与平台无关. 2.什么是Qtopia Qtopia是一个面向嵌入式Linux的全方位应用程序开发平台,同时也是用于基于Linux的PDA

s3c6410 Linux 驱动开发环境搭建

s3c6410 Linux 驱动开发环境搭建 -- 既然你是做Linux开发的,你还用虚拟机? 非常多人都在win下做开发,于是SD_writer.exe之类的烧写工具"大行其道",多是用虚拟机Linux. 全然转到Linux下学习開始蛮不爽的,开发板制作商送的教程都是些讲Win-CE的东东,感觉实质性的东西没什么.对于全然用Linux做开发的技术解说非常少,连烧写SD卡都用的win以下的程序.后来找了些资料,整理在这里,希望留给有心人.共同营造一个更好的共同学习的环境. 当别人遇到困

Linux Android 开发环境搭建

由于Android本身就是linux,为了避免各种不必要的坑,所以在linux下开发Android.当然不熟悉 linux 的,选择 windows 开发也是一样,没有任何问题,个人习惯就好.说一下我的开发环境, ubuntu 14.04(这个是最新的STL),  JDK 1.7.0. 首先是 jdk 的安装, 这个在网上有很多的 blog 可以参看,就不累术了,选择对应版本的就行,记住配置好环境变量.然后是 Android SDK 的安装.在官网上推荐的是新手选择安装 ADT Bundle 版

Qt开发环境搭建 - Windows + VS2010 + VS插件

Qt 开发环境搭建 - Windows+VS2010+VS插件 1.Qt在Windows平台下的三种开发环境 方案 编辑器 编译器 调试器 一 Qt Creator MinGW GDB 二 Qt Creator VisualC++ 编译器 Debugging Tools for Windows 三 VS2010自带 VS2010自带 VS2010自带 说明: 1) C/C++语言.Qt库.开发环境.操作系统的关系 2) 编辑器.编译器.调试器三者的关系 2.1) 三者共同组成了开发环境 2.2)

Linux PC开发环境搭建建议

搭建Linux PC开发环境 很早之前整理的在Linux(ubuntu)系统下搭建 PC开发环境的工具的推荐和简单说明,尽管现在有些已经不再使用,但还是要备份一下,作为以后的参考: package: download from: 软件集成开发环境(代码编辑.浏览.编译.调试) Emacs http://www.gnu.org/software/emacs/ Source-Navigator 5.2b2 http://sourceforge.net/projects/sourcenav 代码索引工

linux android开发环境搭建

android开发环境搭建的一些有用链接:1.sdk manager的国内服务器http://www.cnblogs.com/huangjacky/p/4077982.html2.常见问题的解决http://www.77exception.com/mobiledevelop/11630.html3.创建一个新的项目http://www.phperz.com/article/14/1215/41141.html4.在sdk中下载Android Support Libraryhttp://zhida

Linux交叉开发环境搭建 —— 效率之源

楼主今天终于把所有Linux开发环境需要的软件下载完毕了.虽然以前也是搭建过的,时间久了又折腾了一晚上. 交叉环境: Windows.Linux文件共享 SecureCRT 连接虚拟机终端 工具: VirtualBox ubuntu-16.04-desktop-amd64.iso(ubuntu官网下载) SecureCRT Source Insight 虚拟机搭建: 检查bios虚拟技术功能开启 新建虚拟机,选择创建虚拟硬盘,其余均默认 点击新建虚拟机设置->存储->选中没有光盘->点击

Linux应用开发环境搭建

因为笔者是一名大学生,对Linux内核开发方向非常感兴趣,可是实在是能(ji)力(shu)有(cha)限(jin),仅仅能从Linux应用开发開始,由浅入深,逐步进步,登上人生高峰,因此,昨天搭建了开发环境,安装了一些开发工具.(本来是全部工具都採取由编码编译来进行配置的,不料当中于上的问题实在太多,当时也没有做问题记录和解决方式的记录,于是就发了此文,採用一种比較便捷的方式,希望对和我一样的新手有些帮助) 以下进入正题: 一.安装 1.安装gcc/g++/gdb/make 等基本编程工具 $s