簡體   English   中英

Makefile,clang正常,gcc錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM