arm板上简单运行main.cpp

本文介绍了在ARM板上运行main.cpp(Hello World)的三种方法:通过build.sh脚本、直接使用命令行和使用Makefile进行编译链接。详细阐述了每种方法的具体步骤,包括交叉编译工具的使用、编译选项以及在SecureCRT串口中的执行过程。

在arm板上简单运行main.cpp(hello world)有2种方法:
(1). 使用build.sh编译链接
(2). 直接使用命令行进行编译链接
(3). 使用makefile编译链接

linux和arm共享文件: 之前通过rootpath配过

一般把程序放在mnt路径下
/home/abedg/NfsRoot/target/mnt

方法一: 使用build.sh编译链接

arm-linux-g++: 交叉编译工具

mtune=cortex-a7: 核心板处理器是cortex-a7

std=c++11: 使用c++11进行编译

-lpthread: gcc编译使用了POSIX thread程序通常需要增加额外的选项

-lm: -l是链接作用,-lm是链接数学库

-lstdc++: 编译C++程序,需要用到C++库,故需要加上-lstdc++

-lrt: 链接添加实时库(rt: real time)

-dl: 加载动态链接库

-O3: 最高优化级别. 除了执行-O2所有的优化选项外,一般都是采取向量化算法,提高代码的并行执行程度,利用现代CPU中的流水线, Cache等.

(1). /home/abedg/NfsRoot/target/mnt写入
main.cpp
这里写图片描述

(2). 建立build.sh文件,书写以下内容

这里写图片描述

其中: arm-linux-g++, 是交叉编译工具链
./videostitch, 是生成可执行文件名videostitch
(2). 运行完毕后,将会出现可执行文件名videostitch

这里写图片描述

(3).在SecureCRT串口
sgks login: root
输入pwd, 则显示/root, 其实相当于ubuntu下的
/home/abedg/NfsRoot/target/root
一般情况下,需要运行的程序都放在
/home/abedg/NfsRoot/target/mnt目录下
故: cd ..
然后 cd mnt, 即可得到/mnt目录下
运行 ./videostitch, 即可得到如下结果:

这里写图片描述

方法二: 直接使用命令行进行编译链接

(1). /home/abedg/NfsRoot/target/mnt写入
main.cpp
这里写图片描述

(2). /home/abedg/buildroot/output/host/bin/arm-linux-g++ -o hello main.cpp
其中:
arm-linux-g++: 交叉编译工具
-o hello 生成可执行文件
main.cpp: 所需要的文件
这里写图片描述
此时可看到生成了hello可执行文件

(3). 在SecureCRT串口
sgks login: root
输入pwd, 则显示/root, 其实相当于ubuntu下的
/home/abedg/NfsRoot/target/root
一般情况下,需要运行的程序都放在
/home/abedg/NfsRoot/target/mnt目录下
故: cd ..
然后 cd mnt, 即可得到/mnt目录下
运行 ./hello, 即可得到如下结果:
这里写图片描述

方法三:使用makefile编译链接

makefile基本格式: 目标,依赖,命令
main: 生成目标文件mainmake
main.cpp: 依赖项
命令行: /home/abedg/buildroot/output/host/bin/arm-linux-g++ -o main main.cpp
(1).
这里写图片描述
命令前面一定是tab键
(2).
生成可执行文件main
这里写图片描述

(3). SecureCRT
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值