gpt4 book ai didi

c - Ubuntu 上 makefile 编译 C 源文件

转载 作者:行者123 更新时间:2023-11-30 20:40:25 24 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 12.04 上使用一个 makefile 编译各种 c 文件。

这是代码:

myprog: main.o assembler.o print.o secondPass.o
gcc -g -ansi -Wall main.o assembler.o print.o secondPass.o -o myprog
main.o: main.c
gcc -c -ansi -Wall main.c -o main.o
assembler.o: assembler.c
gcc -c -ansi -Wall assembler.c -o assembler.o
print.o: print.c
gcc -c -ansi -Wall print.c -o print.o
secondPass.o: secondPass.c
gcc -c -ansi -Wall secondPass.c -o secondPass.o

我在这里没有看到任何不属于的空格,我收到的错误如下:

make: *** [main.o] Error 1

最佳答案

附录:阅读了本线程中的其他讨论后,我相信下面的解释很可能不是原始问题的原因。

<小时/>

您已将命令缩进了四个空格。但你需要用一个制表符来缩进它们;空格将不起作用。 Make 因这种敏感而臭名昭著,它让每个人都发疯。

我尝试了你的 makefile,但用制表符缩进替换了四空格缩进,并且它与 Gnu Make 3.81 一起工作。

如果您无法使用编辑器修复 makefile,您可以尝试通过运行以下命令来修复 makefile:

 perl -i -lpe 's/^    /\t/' Makefile

它告诉 Perl 将四个空格的每个实例替换为制表符 (\t)。

关于c - Ubuntu 上 makefile 编译 C 源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22579915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com