Fehler im Makefile:"keine Regel"

  • geschlossen
  • C

  • Simmel
  • 1792 Aufrufe 7 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fehler im Makefile:"keine Regel"

    Hallihallo,

    ich fang grad an in C zu programmieren und hab merkwürdigerweise bei einem eigentlich sehr einfachen makefile ein Problem, wenn ichs ausführe sagt mir mein Ubuntu-Terminal: "make: *** Keine Regel, um exercise2 zu erstellen. Schluss"

    Hier mein Makefile:

    Quellcode

    1. exercise2.exe: file1.o file2.o
    2. gcc -o exercise2.exe file1.o file2.o
    3. file1.o: file1.c
    4. gcc -c file1.c
    5. file2.o: file2.c
    6. gcc -c file2.c


    Bin ich einfach zu doof und finde den Fehler nicht oder was? Das müsste doch syntaktisch alles korrekt sein, die file1.c und file2.c Dateien liegen im Ordner, ich habs mit make exercise2 und make exercise2.exe probiert, aber er findet ja nichmals die Regel?!

    Bin für Hilfe sehr dankbar,
    Gruß
    Simmel
  • hmm, ich habe zwar bisher noch keine Makefiles selbst geschrieben, aber einige Dinge sind mir aufgefallen:

    1. Unter Linux solltest du nie ein Programm auf ".exe" enden lassen, das ist eine Beleidigung ;), unter Linux haben Programme keine Endung.
    2. Darin liegt vielleicht auch der Fehler: vielleicht kann make keine Targets mit einem "." verarbeiten. Dies ist allerdings eher unwahrscheinlich, da "filex.o" ja auch gehen muss.
    3. Probiere mal einfach nur "make" aus, dann sollte automatisch das zuerst definierte Target (in diesem Fall "exercise2") bearbeitet werden. das wäre zumindest mal ein Workaround.
    [COLOR="Green"]"A dream you dream alone is only a dream. A dream you dream together is reality"[/color]

    John Lennon

    [SIZE=1],,,[/SIZE][SIZE=1]*̡͌l̡*,,,,,,,,,,̡̡ ̴̡ı̴̴̡ ,,,,,,,,,*̡͌l̡*,,,,,,,,,,*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*_,,,,,,,,̡̡ ̴̡ı̴̴̡ ,,,,,,,,*̡͌l̡*,,[/SIZE][SIZE=1],,,[/SIZE][SIZE=1],,,,,,̡̡ ̴̡ı̴̴̡ ,[/SIZE][SIZE=1],,[/SIZE]
    [SIZE="1"][COLOR="Purple"]Up 1[/color][/SIZE] [SIZE="1"] [COLOR="Olive"]Up 2_The_Beatles_Red_Album[/color][/SIZE]
  • Also das mit der exe war nicht meine Idee, hat mich auch gewundert, aber stand so in der Aufgabe :rolleyes:

    Bei make alleine kommt die selbe Meldung. Aber hab langsam den Verdacht dass der Fehler woanders liegt... Naja.
    danke für die Antwort,
    Simmel
  • Soweit ich mich recht erinnere sucht make nach einer Datei namens makefile.

    Wenn du die makefile allerdings anders nennst musst du make den namen der datei als parameter übergeben.

    ich glaub das war "make -f makefilename"

    Das dürfte der Grund sein warum es vorher nicht geklappt hat....
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]