Frage zum makefile



  • Also, erstmal zum Anfang: Ich bin gerade erst dabei ein wenig c++ zu lernen und hab schon das erste problem.

    Und zwar möchte ich ein makefile schreiben, um mir den langen aufrufbefehl zu sparen, aber (wie sollte es anderes sein) es klappt nicht 😞

    Der quelltext meines make:
    **INCLUDE = D:\Programme\BCC55\Include
    LIB = D:\Programme\BCC55\Lib
    CPP = bcc32

    HalloWelt.exe: HalloWelt.obj
    (CPP)I(CPP) -I(INCLUDE) -L(LIB)HalloWelt.objo(LIB) HalloWelt.obj -o@

    .cpp.obj:
    (CPP)I(CPP) -I(INCLUDE) -L$(LIB) -c $<

    # Target "clean"
    clean:
    del *.obj\
    del .exe\
    del .tds

    das make habe ich unter makefile (ohne dateiendung) gespeichert im verzeichnis in dem auch der CPP-quelltext liegt.

    beim aufruf von "make" bekomme ich mehrere error-meldungen
    -3mal command syntax error
    -6mal no match found for wildcard

    hoffe mir kann jemand helfen. Besten Dank!



  • wenn ich mich recht erinnere gibts bei make im Dateinamen keinen backslash, sondern den Slash.
    Also '\' wird zu '/'



  • hab's jetzt so gemacht:

    **INCLUDE = D:/Programme/BCC55/Include
    LIB = D:/Programme/BCC55/Lib
    CPP = bcc32

    HalloWelt.exe: HalloWelt.obj
    (CPP)I(CPP) -I(INCLUDE) -L(LIB)HalloWelt.objo(LIB) HalloWelt.obj -o@

    .cpp.obj:
    (CPP)I(CPP) -I(INCLUDE) -L$(LIB) -c $<

    # Target "clean"
    clean:
    del *.obj\
    del .exe\
    del .tds

    ...aber hat nichts gebracht 😞 immernoch die gleiche fehlermeldung , trotzdem danke!



  • Ich hab zwar jetzt keinen Schimmer ob Dir das was bringt, da Du Deinen Text ja unformatiert gepastet hast.

    Die Befehle nach den Targets (Targets sind die Zeilen mit dem : drin) müssen mit einem Tab beginnen. Ja, einem echten Tab, einfache Leerstellen reichen nicht.

    BTW: Make bringt neben den Fehlermeldungen bestimmt auch noch passende Zeilennummern...



  • dankeschön ... das war's 😉 😃 😃 😃


Anmelden zum Antworten