aarch64-linux-gnu-gcc交叉编译工具链
自己记录学习所用。
安装
按下 CTRL +ALT+T打开控制台,输入如下指令安装。
sudo apt-get install gcc-aarch64-linux-gnu
sudo apt-get install g++-aarch64-linux-gnu
编译可执行文件
建立一个.c文件和.cpp文件,可以通过vscode等文件建立,也可以通过下面的指令建立。
vim hello.c
建立一个hello.c文件并进入,按i进入插入模式。
写一个简单的程序。
#include <stdio.h>
int main(void)
{
printf("Hello World!-c \n");
}
再按ESC键,并键入:wq保存并退出。
同样,建立.cpp文件
vim hello.cpp
输入程序
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
输入ls查看当前文件夹下文件,输入ls -l命令查看当前文件夹下文件的详细信息,由于建立的新文件夹,所以当前只有两个文件。
尝试运行,发现错误。
./hello.c
bash: ./hello.c: 权限不够
显示权限不够。
输入下面的命令给与权限。
chmod 777 hello.c hello.cpp
再运行还是出错,这是因为.c和.cpp文件并不能直接运行,需要先编译为可执行文件,命令如下。
gcc -o hello_c hello.c
g++ -o hello_cpp hello.cpp
编译结果如下图所示:
运行结果如下图所示:
但这只是我们的系统能运行,无法在ARM中运行,因此需要进行交叉编译链工具进行交叉编译。
交叉编译
代码如下所示:
aarch64-linux-gnu-gcc hello.c -o 2_hello_c
aarch64-linux-gnu-g++ hello.cpp -o 2_hello_cpp
显示如下:
现在编译就完成了,可以将2进制文件发送给开发板。
若安装,但显示未找到相应命令,则需要添加环境变量,临时添加可以直接在中断中输入下面命令。/usr/bin是安装时存放的命令位置。
#export PATH=$PATH:/usr/bin
推荐在home目录处的终端中使用下面的命令,修改profile文件,添加环境变量。
vim /etc/profile
按i进入插入模式。在文件最下面输入下面一行:
expert PATH=$PATH:/bin:usr/bin
不同环境位置处用:隔开。按ESC退出插入模式,输入:wq保存退出。
若无法保存应该使用下面的命令,以管理员权限进入profile文件。
sudo vim /etc/profile
若未生效,可以在终端中输入下面的命令立即生效。
#source /etc/profile
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)