Linker kennt Option nicht



  • Hallo,
    ich weiß nicht ob ich hier richtig bin, wenn nicht bitte verschieben. Danke 🙂

    Also ich möchte eine C Datei mit dem GNU Linker (LD) linken.
    Dafür hab ich auch ein Linkerscript, aber wenn ich es mit -T aufrufen will kommt die Fehlermeldung: ld: unknown option: -T ... Wie kann ich das fixen?

    LG

    PS: Ich nutze Mac OS X 10.10



  • C-Dateien linkst du nicht. Du linkst das Kompilat. Meist eine sog. Objektdatei. Und wenn du -T verwendest, musst du auch eine Skriptdatei angeben.

    Nimm doch einfach den GCC dafür:

    gcc -o ausgabedatei eingabedatei1.c eingabedatei2.c eingabedatei3.c <zusätzliche Flags, die du haben willst> (-T oder --script) skript
    

    Der kompiliert automatisch und linkt die Objektdateien in die Ausgabedatei zusammen.

    Wenn du bei ld bleiben willst, stelle sicher, dass du ein Linkerskript angibst: -T datei. Sonst kommt es zu dieser Fehlermeldung.

    Wenn dein Mac Manpages kennt (keine Ahnung, ich hatte nie darunter programmiert), kannst du auch mit ld -help oder man gcc mehr Informationen erhalten.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (alle ISO-Standards) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Du kannst mit dem gcc auch linken, also auch wenn du schon vorher alle Quellen übersetzt hast und nur noch die object-files verarbeiten musst.
    Das sollte man auf jeden fall machen, da der gcc auch alle startup-files kennt die er so braucht. Ändert sich da mal was, weiß es der gcc am ehesten.

    Das gleiche gilt auch für g++. Da ist es meiner Erfahrung nach noch wichtiger, weil der noch einiges mehr an defaults einlinkt.


Anmelden zum Antworten