all: matrices.c calculations.o
gcc -std=c99 matrices.c calculations.o -o -lm PROGRAM2_EXE
lib: matrices.h calculations.c
gcc -c -std=c99 calculations.c -o calculations.o
clean:
rm matrices.o calculations.o PROGRAM2_EXE
这是我的项目生成文件。在我的矩阵和计算中,有多个for循环。它给我的错误是error:“for”循环初始声明只允许在c99模式下使用,但我的文件中有-std=c99。我的问题是
如何修复生成文件以使用for循环运行?
最佳答案
此操作:
gcc -std=c99 matrices.c calculations.o -o -lm PROGRAM2_EXE
告诉gcc生成一个名为
-lm
的可执行文件,这可能不是您想要的。由于您没有生成
connections.o
的规则,make将使用其默认规则从connections.c
构建它,这可能类似于(来自gmake):%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@ $<
因为您没有在
-std=c99
或CFGLAGS
中设置CPPFLAGS
,所以不会使用它。关于c - Makefile -std = c99错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23688746/