[RK356x] [Firefly-Linux] 一节课间时间教你在Ubuntu系统安装GCC开发工具
Posted Neutionwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[RK356x] [Firefly-Linux] 一节课间时间教你在Ubuntu系统安装GCC开发工具相关的知识,希望对你有一定的参考价值。
Firefly
提供的Ubuntu
系统并没有预装GCC
开发工具,接下来我带领大家安装这个工具,并结合两个例子简单使用GCC
!
文章目录
一、GGC安装
RK356x
是64
位系统,使用的工具是aarch64-linux-gnu
,通过aarch64-
加上Tab
键并没有发现aarch64-linux-gnu-gcc
,这说明系统并没有安装GCC
:
$ aarch64-
aarch64-linux-gnu-addr2line aarch64-linux-gnu-gold aarch64-linux-gnu-pkg-config
aarch64-linux-gnu-ar aarch64-linux-gnu-gprof aarch64-linux-gnu-ranlib
aarch64-linux-gnu-as aarch64-linux-gnu-ld aarch64-linux-gnu-readelf
aarch64-linux-gnu-c++filt aarch64-linux-gnu-ld.bfd aarch64-linux-gnu-size
aarch64-linux-gnu-cpp aarch64-linux-gnu-ld.gold aarch64-linux-gnu-strings
aarch64-linux-gnu-cpp-7 aarch64-linux-gnu-nm aarch64-linux-gnu-strip
aarch64-linux-gnu-dwp aarch64-linux-gnu-objcopy aarch64-unknown-linux-gnu-pkg-config
aarch64-linux-gnu-elfedit aarch64-linux-gnu-objdump
更新源:
$ sudo apt update
安装GCC
:
$ sudo apt install gcc
再次查看,可以看到有aarch64-linux-gnu-gcc
:
$ aarch64-
aarch64-linux-gnu-addr2line aarch64-linux-gnu-gcc-nm-7 aarch64-linux-gnu-ld.gold
aarch64-linux-gnu-ar aarch64-linux-gnu-gcc-ranlib aarch64-linux-gnu-nm
aarch64-linux-gnu-as aarch64-linux-gnu-gcc-ranlib-7 aarch64-linux-gnu-objcopy
aarch64-linux-gnu-c++filt aarch64-linux-gnu-gcov aarch64-linux-gnu-objdump
aarch64-linux-gnu-cpp aarch64-linux-gnu-gcov-7 aarch64-linux-gnu-pkg-config
aarch64-linux-gnu-cpp-7 aarch64-linux-gnu-gcov-dump aarch64-linux-gnu-ranlib
aarch64-linux-gnu-dwp aarch64-linux-gnu-gcov-dump-7 aarch64-linux-gnu-readelf
aarch64-linux-gnu-elfedit aarch64-linux-gnu-gcov-tool aarch64-linux-gnu-size
aarch64-linux-gnu-gcc aarch64-linux-gnu-gcov-tool-7 aarch64-linux-gnu-strings
aarch64-linux-gnu-gcc-7 aarch64-linux-gnu-gold aarch64-linux-gnu-strip
aarch64-linux-gnu-gcc-ar aarch64-linux-gnu-gprof aarch64-unknown-linux-gnu-pkg-config
aarch64-linux-gnu-gcc-ar-7 aarch64-linux-gnu-ld
aarch64-linux-gnu-gcc-nm aarch64-linux-gnu-ld.bfd
二、编译hello.c
新建一个hello.c
:
$ vi hello.c
添加以下代码:
#include <stdio.h>
int main(int argc, char* argv[])
printf("hello world!\\n");
return 0;
保存并退出:
:wq!
编译代码:
$ aarch64-linux-gnu-gcc -o hello hello.c
执行代码:
$ ./hello
hello world!
三、编译源码包
我这里以编译util-linux-2.31.1
为例,这个源码包已提前解压好,有了GCC
,编译就很简单!
进入源码包目录:
$ cd util-linux-2.31.1
配置编译环境:
$ ./configure
开始编译:
$ make
编译后可以在.libs
目录查看所有产生的库文件:
$ ls .libs
blkid fstrim libcommon.la libmount.la libsmartcols.so libuuid.so lslogins rfkill uuidparse
column libblkid.a libfdisk.a libmount.lai libsmartcols.so.1 libuuid.so.1 lsmem sfdisk wdctl
eject libblkid.la libfdisk.la libmount.so libsmartcols.so.1.1.0 libuuid.so.1.3.0 lsns swaplabel wipefs
fdisk libblkid.lai libfdisk.lai libmount.so.1 libtcolors.a losetup mkswap swapoff zramctl
fincore libblkid.so libfdisk.so libmount.so.1.1.0 libtcolors.la lsblk mount swapon
findfs libblkid.so.1 libfdisk.so.1 libsmartcols.a libuuid.a lscpu mountpoint umount
findmnt libblkid.so.1.1.0 libfdisk.so.1.1.0 libsmartcols.la libuuid.la lsipc partx uuidd
fsck libcommon.a libmount.a libsmartcols.lai libuuid.lai lslocks prlimit uuidgen
如果要安装到本地环境,则执行以下命令:
$ make install
以上是关于[RK356x] [Firefly-Linux] 一节课间时间教你在Ubuntu系统安装GCC开发工具的主要内容,如果未能解决你的问题,请参考以下文章
[RK356x] [Firefly-Linux] 一节课间时间带你了解Ubuntu固件各个分区
[RK356x] [Firefly-Linux] 一节课间时间带你了解Linux_SDK
[RK356x] [Firefly-Linux] 10min带你获取了解与编译Kernel源代码
[RK356x] [Firefly-Linux] 一节课间时间教你单独更新Kernel到Ubuntu系统的boot分区