Gå til innhold

Hva er galt med makefila mi?


Anbefalte innlegg

IDIR =../include
CC=g++
CFLAGS=-I$(IDIR)

ODIR=obj
LDIR =../lib

LIBS=-lm

_DEPS = 
DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))

_OBJ = main.o 
OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))


$(ODIR)/%.o: %.cpp $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)

main: $(OBJ)
gcc -o $@ $^ $(CFLAGS) $(LIBS)

.PHONY: clean

clean:
rm -f $(ODIR)/*.o *~ core $(INCDIR)/*~ 

 

Jeg får ikke det ovenfor til å fungere skikkelig... ikke i det hele tatt faktisk. Får opp feilen:

 

"... In function '_start': (.text+0.18): undefined reference to 'main' ..."

 

Jeg ser ikke helt hva den skal mangle etter som litt googling sier jeg mangler noe.

Endret av South_Bridge
Lenke til kommentar
Videoannonse
Annonse

Du har ikke sagt hvilke filer som skal kompileres. Nå sier du at alle .cpp filene i mappa di skal kompileres. SRC = $(wildcard *.cpp) lager nemlig en liste over alle filene i mappa som slutter med .cpp og lagrer den i SRC variabelen, når du så legger til den lista i linjen som kompilerer, kompileres alle filene som slutter med .cpp

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...