Autor Thema: C99 parameter geht nicht | softwarepakete vergessen zu inst?  (Gelesen 2103 mal)

Martin Erhardt

  • Beiträge: 165
    • Profil anzeigen
Gespeichert
als ich mein OS kompilieren wollt kam:


console.c:84:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
console.c:84:5: note: use option -std=c99 or -std=gnu99 to compile your code

als ich die params dann in der Makefile hatte, hat gcc sie nicht erkannt
ups falsches board
« Letzte Änderung: 15. December 2012, 19:19 von Martin Erhardt »

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 15. December 2012, 23:21 »
Hallo,

sicher, dass dein Makefile den GCC auch mit "-std=c99" aufruft?

Gruß,
Svenska

Martin Erhardt

  • Beiträge: 165
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 16. December 2012, 16:10 »
Hier ist meine Makefile
SRCS = $(shell find -name '*.[cS]')
OBJS = $(addsuffix .o,$(basename $(SRCS)))

CC = gcc
LD = ld

ASFLAGS = -m32
CFLAGS = -m32 -Wall -g -fno-stack-protector -I inc -std=c99
LDFLAGS = -melf_i386 -Tkernel.ld
kernel: $(OBJS)
$(LD) $(LDFLAGS) -o $@ $^

%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $^

%.o: %.S
$(CC) $(ASFLAGS) -c -o $@ $^

clean:
rm $(OBJS)

.PHONY: clean

 

Einloggen