龙空技术网

24 编写应用程序(OpenWrt 交叉编译) openwrt入门经典教程

爱学习de小乌龟 151

前言:

此时各位老铁们对“ubuntu怎么编程软件”大概比较关注,姐妹们都需要知道一些“ubuntu怎么编程软件”的相关资讯。那么小编也在网上汇集了一些关于“ubuntu怎么编程软件””的相关资讯,希望同学们能喜欢,同学们快快来了解一下吧!

编写应用程序(OpenWrt 交叉编译)

本实验目标

掌握 OpenWrt 交叉编译应用程序的方法

在本实验中,我们借助 OpenWrt 提供的编译链进行应用程序的编写,编写一个最简单 的应用程序: hell world!

首先说一下什么是交叉编译:我们在 ubuntu 中写了一个程序,比如 main.c ,然后使 用 ubuntu 的编译器进行编译,生成的可执行文件自然可以在 ubuntu 中运行。但是生成的 可执行文件可以在我们的开发板中能运行吗?答案当然是否定的,原因很简单,就是平台不 同, 芯片架构不同。那我们如何使得 ubuntu 编译出来的可执行文件在开发板上面运行呢, 当然就要借助一些工具了,通过一些工具进行对程序编译,生成在开发板上可以运行的文件, 那这些工具我们把它叫做交叉编译工具,把这种从一个平台开发另一个平台应用的方式称为 交叉编译。

Toolchain 即交叉编译工具,要在 ubuntu 编译我们写的应用程序使得生成开发板可以 执行的文件 ,必须有这一套工具才可以进行!

首先,我们查看是否已经有交叉编译工具:

显然没有 Toolchain !

好的,配置 OpenWrt 使得支持toolchain

在 openwrt/trunk/目录下运行 make menuconfig ,并且选中 toolchain :

保存之后,编译 OpenWrt : make V=99

编译完成之后,我们可以查看是否有交叉编译工具包的存在:

OK,解压交叉编译工具包:

解压完成后:

然后我们 cd 到解压完成后的工具包中,再进入该工具包中的另一个目录,找到bin 文 件夹,同样 cd 进去 bin 文件夹:

好的,现在我们就拥有交叉编译工具了,我们要把交叉编译工具的路径保存在一个环境 变量中,这样做是为了,我们编译程序时会根据这个环境变量找到交叉编译工具的位置。 以 root 的权限编辑如下文件:

编辑前该文件的内容如下(我的 ubuntu) :

好的,增加我们交叉编译工具路径后(注意以冒号分隔):

为了让这个环境变量起作用,我们重启 ubuntu ! 重启完成后,我们编写一个非常简单的应用程序:

然后使用交叉编译工具进行编译!

编译完成后生成可执行文件:

然后我们尝试在 ubuntu 中运行可执行文件 main:

很显然,这个可执行文件无法在 ubuntu 上运行,但是,却可以在我们开发板中运行,我们 把可执行文件移动到开发板中进行执行:

运行成功!

标签: #ubuntu怎么编程软件