网学网为广大网友收集整理了,基于Linux下MiniGUI的应用程序开发过程的研究,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
3.4 MiniGUI的移植过程 (1)安装交叉编译工具 为了能让MiniGUI运行在不同的目标平台上 ,需要有针对相应平台的交叉编译工具 。交叉编译工具是运行在开发平台上、用于生成目标平台上的可执行代码的工具集 ,般包 括 :binutils二进制工具 、gcc交叉编译器 、glibc库[12] 。 在主机上交叉编译 popt-1.7并安装 :解压缩 tar zxf popt一1.7.tar.gz;设置环境变量 ,以便生成可以在目标系统上运行的可执行镜像文件 :CC— arm-elf-gcc LDFLAGS一elf2flt./configure—prefiX一 /usr/local/arm-elf?build i386一linux一host— arm-elf~target— arm-elf; 编译并安装 :make instal1。 (2)编译 libminigui一1.3.2 为了使MiniGUI程序能在嵌入式系统中运行 ,必须将其用到的函数库进行交叉编译 。主要是修改其编译器、目标平台等 。对于非x86兼容的嵌入式系统 ,如ARM 系统 ,只能使用Native图形引擎 ,而Native图形引擎只能运行在MiniGUI—Lite模式 ,所以编译时要注意 [13]。 交叉编译 uClibc库 :编译 MiniGUI的 函数库时需 要 uClibc库 ,所以要首先编译 uClinux发行包里的uClibc库 。在 uClinux-dist目录下 :配置make menuconfig,确定依赖关系 make dep,编译uClibc库 make 1ib—only。 安装 libminigui(即 minigui图形函数库 ):解压缩 tar jxvf libminiguiok.tar.bz2;进入函数库根目录 , 设置环 境变量 export LDFLAGS——elf2flt,配 置 make menuconfig,保存退出 ,然后编译并安装 make install。 将新生成的MiniGUI交叉库放人嵌入式文件系统中。这样 ,即使在嵌入式系统中 ,程序也能够使用其函数库 [14]。 (3)交叉编译 MiniGUI程序 其原理与MiniGUI函数库的编译类似 。将交叉编译后的可执行文件放人嵌入式文件系统中,由于系统的差别 ,在PC机上运行成功的程序在嵌入式 系统中可能要进行一定的修改才能执行 。 (4) Makefile 介绍 make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。 首先,我们用一个示例来说明Makefile的书写规则。以便给大家一个感兴认识。这个示例来源于GNU的make使用手册,在这个示例中,我们的工程有8个C文件,和3个头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。我们的规则是: 1)如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。 2)如果这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程序。 3)如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的C文件,并链接目标程序。 只要我们的Makefile写得够好,所有的这一切,我们只用一个make命令就可以完成,make命令会自动智能地根据当前的文件修改的情况来确定哪些文件需要重编译,从而自己编译所需要的文件和链接目标程序。 一、Makefile的规则 在讲述这个Makefile之前,还是让我们先来粗略地看一看Makefile的规则。 target ... : prerequisites ... command ... ... target也就是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述。 prerequisites就是,要生成那个target所需要的文件或是目标。 command也就是make需要执行的命令。(任意的Shell命令) 这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在command中。说白一点就是说,prerequisites中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行。这就是Makefile的规则。也就是Makefile中最核心的内容[15]。
|
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |