汇总(之一):交叉编译工具链arm-none-linux-gnueabi-, Qt交叉编译安装和移植,Qt桌面版编译安装,QTcreator安装和配置

1. 交叉编译工具链arm-none-linux-gnueabi-的安装

2. Qt4.8.1交叉编译安装和移植

3. Qt4.8.4桌面版编译安装

4. QTcreator2.5.2安装和配置


1. 交叉编译工具链arm-none-linux-gnueabi-的安装

由于用的是ZLG的iMX257开发板,交叉编译工具链使用的是ZLG提供的,并非自己亲自编译的。下面是开发板配套文档中的安装过程。


在“Ubuntu 64-bit 12.04 for EasyARM-iMX257.iso”基础上安装的 Linux 系统已经默认安装了开发 EasyARM-iMX257 所需的交叉编译工具链,用户无需再执行安装,如果用户的
Linux 系统上未安装这个工具链,则可以按照以下步骤进行安装:


1)安装 32 位的兼容库和 libncurses5-dev 库
在安装交叉编译工具之前需要先安装 32 位的兼容库和 libncurses5-dev 库,安装 32 兼容库需要从 ubuntu 的源库中下载,所以需要在 Linux 主机系统联网的条件下,通过终端使用如下命令安装:
vmuser@Linux-host ~$sudo apt-get install ia32-libs


若 Linux 主机系统没有安装 32 位兼容库,在使用交叉编译工具的时候可能会出现错误:
-bash: ./arm-none-linux-gnueabi-gcc: 没有那个文件或目录


在终端中使用如下命令则可以安装 libncurses5-dev 库。
vmuser@Linux-host ~$sudo apt-get install libncurses5-dev


如果没有安装此库,在使用 make menucofig 时出现如下所示的错误:
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1
make: *** [menuconfig] 错误 2


2)安装交叉编译工具链
将光盘资料中的“freescale-zlg.tar.bz2”文件通过 U 盘的方式拷贝到 Linux 主机的“/tmp”目录下,然后执行如下命令进行解压安装交叉编译工具链:
vmuser@Linux-host ~$ cd /tmp
vmuser@Linux-host /tmp$ sudo tar -jxvf freescale-zlg.tar.bz2 -C /opt/
vmuser@Linux-host /tmp$                 # 输入 vmuser 用户的密码“vmuser”

执行完解压命令后,交叉编译工具链将被安装到“/opt/freescale”目录下。交叉编译器的具体目录是“/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin”,为了方便使用,还需将该路径添加到 PATH 环境变量中,其方法为:修改“/etc/profile”文件,具体操作方法如下:
在终端中输入如下指令
vmuser@Linux-host ~$ sudo vi /etc/profile                         # 若提示输入密码,则输入“vmuser”

用 vi 编辑器打开“/etc/profile”文件后,在文件末尾增加如下一行内容:
export PATH=$PATH:/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin


文件修改并保存后,再在终端中输入如下指令,更新环境变量,使设置生效,如图4.54所示。
vmuser@Linux-host ~$ source /etc/profile


在终端输入arm-none-linux-gnueabi-并按TAB键,如果能够看到很多arm-none-linux-gnueabi-前缀的命令,则基本可以确定交叉编译器安装正确。


3.测试工具链

在“~/EasyAMR-iMX257”目录下创建一个hello文件夹,并在该文件夹下创建hello.c文件(创建方法为:右键该目录下空白处,在弹出的右键菜单中选择“创建新文档”,再在子菜
单下选择“空白文档”,然后将创建的空白文档重命名为hello.c),然后右击hello.c文件,选择“使用文本编辑器打开”菜单打开hello.c文件,然后输入如程序清单4.1所示内容。

程序清单4.1 Hello 程序清单
#include <stdio.h>
int main(void)
{
int i;
for (i=0; i<5; i++) {
printf("Hello %d!\n", i);
}
return 0;
}


输入完程序代码后保存并关闭 hello.c 文件,然后按“Ctrl+Alt+T”启动终端,输入以下命令对 hello.c 进行编译并查看编译后生成文件的属性:
vmuser@Linux-host ~$ cd /home/vmuser/EasyARM-iMX257/hello                                                                    #浏览到程序文件所在目录
vmuser@Linux-host ~/EasyARM-iMX257/hello$ arm-none-linux-gnueabi-gcc hello.c -o hello                    #编译 hello.c 文件
vmuser@Linux-host ~/EasyARM-iMX257/hello$ file hello                                                                                    #查看编译生成的 hello 文件属性


hello.c文件编译后将输出hello文件,终端执行命令及输出文件如图4.56所示。
通过终端命令运行的结果可知,hello 文件是 ARM 格式的可执行文件,说明arm-none-linux-gnueabi-工具链已经可以正常使用了。


下面可以尝试通过前面学习到的 NFS 挂载方法,将 hello 文件放到 EasyARM-iMX257上面去运行,其基本操作骤如下:

3) 给目标板接上调试串口线及网线,并打开串口终端监听串口数据,然后再给目标系统上电。
4) 目标系统(Linux 系统)上电后,通过串口终端登录目标系统(用户名为“root” ,无须输入密码),并设置目标系统的 IP 为 192.168.12.124(建议与 Linux 主机位于同一
网段,并能互相 ping 通,否则可能导致 NFS 挂载失败),并测试目标系统与 Linux主机的网络是否畅通。
root@EasyARM-iMX257 ~# ifconfig eth0 192.168.12.124
root@EasyARM-iMX257 ~# ping 192.168.12.123

5)目标系统与 Linux 主机网络畅通后,通过发送如下命令可将主机的 NFS 共享目录“EasyARM-iMX257”挂载到目标系统的/mnt 目录下:
root@EasyARM-iMX257 ~# mount -t nfs 192.168.12.123:/home/vmuser/EasyARM-iMX257  /mnt -o nolock
6)NFS 挂载成功后,通过“cd”命令浏览到 hello 文件所在目录,通过“./hello”命令运行 hello文件,具体命令如下:
root@EasyARM-iMX257 ~# cd /mnt/hello
root@EasyARM-iMX257 /mnt/hello# ./hello

hello程序运行后,将通过串口终端打印五行字符,测试结果如图4.57所示。










  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值