1.1、gcc编译单个c++程序(hello.c)
gcc hello.c -o hello (hello是生成的可执行程序的名字)
1.2、交叉编译hello.c
源平台: UOS_X86_64
目标平台:UOS_arm
方法:使用现成的交叉编译工具链
参考资料:交叉编译概念 ; 安装交叉编译器 ; 交叉编译入门
(步骤1)去平台下载对应的工具链
https://www.linaro.org/downloads/
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
以上两个均可以下载,我下载的是
创建了一个目录:$HOME/local/X86ToArm
,下载之后将其解压这个目录下面,会看到解压出的文件夹里包括了一堆文件夹,是arm的一些底层文件,其中bin文件中存在一个arm-linux-gnueabihf-gcc
文件,是我们的交叉编译工具
(步骤2)添加环境变量vim /etc/profile
进入配置目录(或者~/.brashrc; profile作用于所有用户; brashrc作用于当前用户)
然后再末尾将上面解压的路径添加到PATH:(i: 进入编辑; Esc:退出编辑模式; :wq 保存并退出)
保存退出之后输入 source /etc/profile
重新加载配置文件; 然后输入arm-linux-gnueabihf-gcc -v
回车,如果这个交叉编译链可以成功起作用,就会加载出一堆信息,包括版本信息
(步骤3)可以编译啦文章来源:https://www.toymoban.com/news/detail-740614.html
arm-linux-gnueabihf-gcc hello.c -o hello_arm
运行上面的命令,就可以生成hello_arm的可执行程序,运行发现它在当前的x86下不能运行,拿到arm就可以成功输出hello world!文章来源地址https://www.toymoban.com/news/detail-740614.html
到了这里,关于gcc编译 与交叉编译(x86 to arm) (一)单个文件编译的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!