Probleme bein Linken

Dieses Thema im Forum "Mac OS X - Unix & Terminal" wurde erstellt von Scorpion, 30.07.2005.

  1. Scorpion

    Scorpion Thread Starter MacUser Mitglied

    Beiträge:
    106
    Zustimmungen:
    0
    MacUser seit:
    03.02.2005
    Hallo,

    ich wusste nicht richtig, ob das noch in den Bereich Unix fällt oder schon zur Programmierung fällt, ich hab es einfach mal hier reingeschrieben.

    Seit einiger Zeit bin ich schon dran ein kleines OS für die i386 Plattform zu schreiben. Mein Bootloader in Assembler geschrieben läuft ohne Probleme, jetzt wollte ich aber mit C weitermachen und da gibt es ein kleines Problem mit dem Linken. Ich habe dazu auch schonmal ein Tutorial durchgesehen, hier der Link dazu, ist leider englisch.

    Jetzt zum eigentlichen Problem:

    Damit ich die verschiedenen Dateien wie die Assembler-Datei, die die C-Datei lädt, am Ende zusammenbringen kann, brauche ich ja den Linker. So jetzt hier der Ausschnitt aus dem Tutorial:

    Hier wird eine *.o Datei aus der Datei erstellt, die später das C-Programm laden soll. So weit, so gut, nasm habe ich schon seit längerem auf unter OS X zum Laufen gebracht.

    Hier geschieht das Gleiche wie oben mit der C-Datei.

    Und hier ist nun das Problem, gebe ich das nun im Terminal ein, kommt folgender Fehler:


    Was hat das zu bedeuten?


    Scorpion
     
    Zuletzt von einem Moderator bearbeitet: 31.10.2015
  2. autoexec.bat

    autoexec.bat MacUser Mitglied

    Beiträge:
    2.130
    Zustimmungen:
    20
    MacUser seit:
    21.01.2005
    Ganz einfach. Es gibt keine Option -T. Die Optionen kenne ich jetzt auch nicht. Aber die stehen auch alle in der Manpage. (man ld)
     
  3. Scorpion

    Scorpion Thread Starter MacUser Mitglied

    Beiträge:
    106
    Zustimmungen:
    0
    MacUser seit:
    03.02.2005
    Hallo,

    mir ist klar, dass ld die Option nicht erkennt, in einer Manpage im Internet tritt die Opetion -T bzw. --script jedoch auf

    Nur scheint das hier nicht zu funktionieren, meine eigentlich Frage daher, wie kann ich die Dateien jetzt linken und auch das script verwenden?


    Scorpion
     
  4. Scorpion

    Scorpion Thread Starter MacUser Mitglied

    Beiträge:
    106
    Zustimmungen:
    0
    MacUser seit:
    03.02.2005
    Hallo,

    ich habe das jetzt erst einmal ohne das Skript gemacht und selbst daran scheiter es schon...

    Das ist im Prinzip genau das selbe wie oben nur eben ohne das Skrip, habe es auch schon direkt mit ld versucht, der gleiche Fehler.

    Wie kann ich denn diese 2 Dateien linken oder gibt es vielleicht noch einen anderen Linker? Ich habe bisher nur einen gefunden, der mir Binär-Dateien ausgeben kann, der ist jedoch nur für Win.



    Scorpion
     
  5. Scorpion

    Scorpion Thread Starter MacUser Mitglied

    Beiträge:
    106
    Zustimmungen:
    0
    MacUser seit:
    03.02.2005
    Hallo,

    ich habe das jetzt zum Laufen gebracht. Leider ging es ohne VPC nicht.
    Ich Muss die Dateien nun mit VPC unter Win 98 kompilieren und linken, das geht zwar um einiges langsamer, aber es geht.


    Scorpion
     
  6. dannycool

    dannycool MacUser Mitglied

    Beiträge:
    1.485
    Zustimmungen:
    34
    MacUser seit:
    02.02.2005
    Dein Mac OS X/PPC-Linker beschwert sich, dass Du ihn mit einem Objektfile benutzen willst, das nicht in seinem Format ist.

    Ich weiss ja nicht was Du Dir gedacht hast was ld macht, aber ein mit Mac OS X-ld gelinktes Programm hilft Dir mit einem i386-Rechner nicht weiter... genausowenig ein mit Mac OS X/PPC-gcc übersetztes C-Programm.
     
    Zuletzt bearbeitet: 31.07.2005
  7. Scorpion

    Scorpion Thread Starter MacUser Mitglied

    Beiträge:
    106
    Zustimmungen:
    0
    MacUser seit:
    03.02.2005
    Hallo,

    mir ist schon klar, dass gcc unter OS X die Dateien für die PPC-Plattform übersetzt.

    Ich hatte auch mehr darauf gehofft, dass jemand vielleicht einen Compiler kennt, der unter OS X *.o-Dateien für i386 erstellen kann.

    Trotzdem Danke, es geht ja mit VPC recht erträglich.


    Scorpion
     
Die Seite wird geladen...

Diese Seite empfehlen