[英]Makefile, clang OK, gcc error
當我注釋/未使用clang / gcc時,我有makefile可與clang一起使用,而對gcc則失敗...我不知道為什么。
#CC=gcc
#CFLAGS=-I -std=gnu99 -Wall -Wextra -Werror -pedantic
CC=clang
CFLAGS=-I -std=gnu99 -Wall -Wextra -Werror -pedantic
LIBS=-lpthread -lrt
SRC=rivercrossing.c functions.c
OBJ=$(SRC:.c=.o)
DEPS=rivercrossing.h
%.o: %.c $(DEPS)
$(CC) -c -o $@ $<
rivercrossing: $(OBJ)
$(CC) $^ $(CFLAGS) $(LIBS) -o $@
.PHONY: clean
clean:
rm -f *.o rivercrossing
使用gcc我有以下錯誤:
error: ‘for’ loop initial declarations are only allowed in C99 mode
error: ISO C90 forbids mixed declarations and code [-Werror=pedantic]
int stat = 0;
^
error: C++ style comments are not allowed in ISO C90 [-Werror]
當我查看文件夾中的* .o文件時,它們仍然存在。 為什么? 謝謝你的幫助。
您必須使用C99模式而不是gnu99模式,或者可以在for循環之外聲明變量。
有一個啟用C99模式的編譯器開關,除其他功能外,它還允許在for循環內聲明變量。 要打開它,請使用編譯器開關-std = c99
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.