gpt4 book ai didi

c - Makefile -std=c99 错误

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

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

这是我的项目的 makefile。在我的矩阵和我的 calculations.c 中有多个 for 循环。它给我的错误是 error: 'for' loop initial declarations are only allowed in c99 mode 但我的文件中有 -std=c99。我的问题是

  1. 如何修复我的 makefile 以使用 for 循环运行?

最佳答案

这个 Action :

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 $@ $<

由于您没有在 CFGLAGSCPPFLAGS 中设置 -std=c99,因此不会使用它。

关于c - Makefile -std=c99 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23688746/

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