Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了用于arm-linux-gcc的C/C++目标的简单makefile大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我想使用arm- linux-gcc编译器套件[arm-linux-gcc(Buildroot 2011.08)4.3.6]交叉编译ARM架构的简单程序.我试图使用一个简单的makefile来编译C代码,另一个简单的makefile用于编译C代码.例如,我的C代码生成文件在下面重现,但它不会创建一个ELF二进制文件,以便在我的嵌入式系统上运行.主机系统是x64 GNU Linux. 这是我为C程序
我想使用arm- linux-gcc编译器套件[arm-linux-gcc(buildroot 2011.08)4.3.6]交叉编译ARM架构的简单程序.我试图使用一个简单的makefile来编译C代码,另一个简单的makefile用于编译C代码.例如,我的C代码生成文件在下面重现,但它不会创建一个ELF二进制文件,以便在我的嵌入式系统上运行.主机系统是x64 GNU Linux.

这是我为C程序编写的非常简单的makefile的列表:

CC=arm-linux-gcc
CFLAGS=-Wall
main: test.o 

clean:
    rm -f test test.o

上面复制的makefile只创建一个扩展名为.o的目标文件,而不创建ELF二进制文件.

我已经用Google搜索一个很好的解决方案,但我似乎找不到一个网页显示C和C程序的示例交叉编译ARM makefile.也许这篇文章的答案可以显示这样的例子.

解决方法

我尝试了你的Makefile并更改了以下内容

test: test.o

它在更改后工作并创建了一个名为test的二进制文件.似乎有一些隐含的规则知道如果其中一个依赖项是whatoo,如何链接任何东西.

另一种方法是明确列出规则:

@H_853_23@main: test.o $(CC) -o $@ $$

这使用特殊的宏$@(表示目标)和$$(表示依赖项).

大佬总结

以上是大佬教程为你收集整理的用于arm-linux-gcc的C/C++目标的简单makefile全部内容,希望文章能够帮你解决用于arm-linux-gcc的C/C++目标的简单makefile所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。