Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Proč mi nefunguje makefile na linuxu?

Ahoj, mohl by mi prosím někdo poradit, proč mi nefunguje makefile, moc tomu nerozumím, na win 8 mi to šlape, ale na linuxu ne. Dostávám chybu viz obrázek v příloze.
Chci vytvořit spouštěci soubor.

CC	=	gcc
MyExecutable:	hlavni.o	kontrola.o	shunting.o	draw.o
	$(CC)	$^	-o	$@
%.o	:	%.c
	$(CC)	$(CFLAGS)	-MMD	-c	$<	-o	$@
-include

(samozřejmě mezery = tab)
Vše je v jedné složce, ta obsahuje hlavni.c, hlavni.h, kontrola.c, kontrola.h, shunting.c, shunting.h, draw.c, draw.h.
Main metoda je v hlavni.c...

Co kam je includovano:
hlavni.c NIC
kontrola.c #include "hlavni.h", #include "shunting.h", #include "kontrola.h"
shunting.c #include "shunting.h"
draw.c NIC.

Předmět Autor Datum
a kompiluješ v daném adresáři?
touchwood 30.12.2013 21:15
touchwood
Ano, kompiluji. (funkční kompilátor je taky součástí)
MašinkaTomáš 30.12.2013 21:16
MašinkaTomáš
makefile sem pojmenoval makefile i Makefile,(bez koncovky) oba stejný výsledek, ale to by nemělo mít…
MašinkaTomáš 30.12.2013 21:20
MašinkaTomáš
Dyk to zjevně chce nějakou knihovnu matematických funkcí (patrně MATH).
Rce 30.12.2013 21:28
Rce
Ta je samozřejmě includována v souboru shunting.c (#include <math.h>), tyhle knihovny je potřeba tak…
MašinkaTomáš 30.12.2013 21:30
MašinkaTomáš
Přidat přepínač -lm.
Niko Bellic 30.12.2013 21:32
Niko Bellic
Co tím myslíš? Nerozumím.. :-/
MašinkaTomáš 30.12.2013 21:36
MašinkaTomáš
Možná když to přidáš jako další flag. Makefile moc neumím, ale ten přepínač tam být musí, pokud použ…
Niko Bellic 30.12.2013 21:39
Niko Bellic
Již jsem to našel! Díky! The library that you are using needs to be placed after the files that us… poslední
MašinkaTomáš 30.12.2013 21:40
MašinkaTomáš

Zpět do poradny Odpovědět na původní otázku Nahoru