1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

C++: ld: crti.o: No such file

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von kevin@mac, 05.11.08.

  1. kevin@mac

    kevin@mac Boskop

    Dabei seit:
    09.02.08
    Beiträge:
    212
    Habe per macports den gcc installiert, leider kommt folgende Meldung beim Kompilieren des C++ Programms:
    Kann mir jemand sagen wo ich die entsprechende crti.o finden kann bzw. installieren kann?
     
  2. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Welches C++-Programm versuchst Du da zu compilieren? Ein eigenes?

    Und wieso hast Du gcc über MacPorts installiert? Reicht der aus Xcode nicht?
     
  3. kevin@mac

    kevin@mac Boskop

    Dabei seit:
    09.02.08
    Beiträge:
    212
    Wir haben ein OS von der Uni, welches wir erweitern sollen und dazu muss von Hand per make (Makefile ist von der Uni gegeben) kompiliert und die Bootdisk erstellt werden.
     
  4. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Und das soll wirklich auf einem Mac funktionieren? Bootdisk?
    Die Datei crti.o ist eine Objektdatei und sollte eigentlich vor dem Linker-Aufruf (ld) durch Kompilieren entstanden sein. Gibt es crti.c, crti.cc oder crti.cpp? Hat beim Kompilieren alles geklappt?
     
  5. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.255
    C++ Programme werden über "g++" gelinkt, wenn man mittels "ld" linkt muß man die diversen Laufzeitbibliotheken von C++ von Hand einbinden.
     
  6. kevin@mac

    kevin@mac Boskop

    Dabei seit:
    09.02.08
    Beiträge:
    212
    Die Bootdisk wird per Bochs emuliert.

    Nunja das Makefile wurde vorgegeben:
    Es existiert keine crti.* im Verzeichnis.
     
  7. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Kurze Recherche: crti.o gehört zur glibc, sollte also schon irgendwo im System existieren.

    Diese Zeile hier
    Code:
    OBJCP = i386-elf-objcopy
    macht mich stutzig. Unter OS X haben Objektfiles das Mach-O Format, kein ELF. Wird diese Umgebungsvariable irgendwo nochmal benutzt? Dann dürfte das Ganze sowieso nicht kompilieren -> neuen OS X-Zweig im Makefile erzeugen?
     
  8. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.255
    Das hört sich danach an, daß es ein Crosscompiler ist.
     
  9. kevin@mac

    kevin@mac Boskop

    Dabei seit:
    09.02.08
    Beiträge:
    212
    Ich danke euch,
    habe jetzt die Objektdateien gefunden, die noch genutzt werden, bekomme leider folgenden Fehler beim Kompilieren:
    Hat jemand eine Idee, warum das Dateiformat falsch sein könnte, ggf. im Makefile behebbar?

    P.S. Die zu kompilierenden Dateien sollten funktionieren, das Bootimage auch funktioniert, was bei jemand anderem aus den gleichen Quelldateien erzeugt wurde.
     
  10. applejuicerulez

    applejuicerulez Golden Delicious

    Dabei seit:
    12.11.07
    Beiträge:
    9
    Bin glaub ich auf der selben Uni wie du in der Vorlesung Betriebssysteme und habs bisher auch nicht auf dem Mac zu laufen gebracht. Wir wären für weitere hinweise echt dankbar:(
     

Diese Seite empfehlen