gpt4 book ai didi

c - 带有 SDL2 的 Makefile C

转载 作者:太空宇宙 更新时间:2023-11-04 01:55:27 24 4
gpt4 key购买 nike

我得到了使用 SDL2 和 nasm 用 C 编写的程序。我对 makefile 有疑问:“*** Nor rule to make target'../home/amellana/Desktop/project/main.c','main.o' 需要”有人知道要在我的 makefile 中更改什么吗?

CC=gcc
CFLAGS=-Wall -Wextra

ASM=nasm
AFLAGS=-f elf64

all: myfunc mytest

main.o: ../home/amellana/Desktop/project/main.c
$(CC) $(CFLAGS) -c ../home/amellana/Desktop/project/main.c
mytest.o: ../home/amellana/Desktop/project/mytest.c
$(CC) $(CFLAGS) -c ../home/amellana/Desktop/project/mytest.c
program.o: program.nasm
$(ASM) $(AFLAGS) program.nasm
myfunc: main.o myfunc.o
$(CC) $(CFLAGS) main.o program.o -lSDL2 -o myfunc
mytest: mytest.o program.o
$(CC) $(CFLAGS) mytest.o program.o -o mytest
clean:
rm -f *.o
rm -f myfunc
rm -f mytest

最佳答案

Makefile 规则的一般语法是:

<target>: <dependencies>
<recipe>

在您的情况下,这部分:

main.o: ../home/amellana/Desktop/ARKO/main.c
$(CC) $(CFLAGS) -c ../home/amellana/Desktop/project/main.c

意味着为了创建目标 main.o,必须首先构建依赖项 ../home/amellana/Desktop/ARKO/main.c。该文件不存在,并且没有为此类目标定义的规则。因此,依赖失败。

您可能拼错了文件名,或者路径不正确。

关于c - 带有 SDL2 的 Makefile C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34993360/

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