Autor Thema: Problem mit C-Kernel!  (Gelesen 7846 mal)

jeb

  • Beiträge: 341
    • Profil anzeigen
    • http://www.jebdev.net
Gespeichert
« am: 09. June 2005, 19:37 »
Solange das mit dem Bootloader nicht funtzt, probier ich grad, einen C-Kernel zu verwenden. Doch der Linker gibt immer wieder einen Fehler aus:
pm32.obj: file not recognized: File format not recognized
Zum Kompilieren der Datei verwende ich:
nasmw -f aout -o pm32.obj pm32.asm
pm32.asm:
[Bits 32]
extern _main
global start
start:
call _main
Stop:
jmp Stop


What's the matter :?:

jeb

matthieuriolo

  • Beiträge: 226
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 09. June 2005, 19:39 »
saug dir mal die neuste version .. sollte nämlich gehen! Oder versuch es mal als .o zu compilieren und dann zu linken

jeb

  • Beiträge: 341
    • Profil anzeigen
    • http://www.jebdev.net
Gespeichert
« Antwort #2 am: 09. June 2005, 19:46 »
*.o bereits probiert.
Was soll ich saugen? MinGW oder NASM?

Übrigens @Tee-Jay: Könntest du beim PMODE Tutorial ein vernünftiges Linkfile integrieren? Ist nämlich eins von JayOS  :?

GNU ld version 2.15.91 20040904
NASM version 0.98.39 compiled on Jan 16 2005

alles auf dem neusten Stand

jeb

  • Beiträge: 341
    • Profil anzeigen
    • http://www.jebdev.net
Gespeichert
« Antwort #3 am: 09. June 2005, 19:53 »
dachte ich probier mal das file von PiratOS. Doch auch das kann ich nicht kompilieren. Selber fehler: kernel32.o

matthieuriolo

  • Beiträge: 226
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 09. June 2005, 20:09 »
Das sollst du installieren http://www.delorie.com/djgpp/ gcc, g++, gpp, ld etc. alles drin bis auf das nasm. Das kannst aber schluss endlich in den glecihen Ordner werfen.

Golum

  • Beiträge: 96
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 09. June 2005, 20:22 »
Zitat

Zum Kompilieren der Datei verwende ich:
Code:
nasmw -f aout -o pm32.obj pm32.asm

Compiliert die Datei und schreibt die ausgabe in die Datei pm32.obj
Vielleicht liegt es daran ?
-o <Filename> legt die Datei fest in die das Ergebniss geschrieben werden soll.

jeb

  • Beiträge: 341
    • Profil anzeigen
    • http://www.jebdev.net
Gespeichert
« Antwort #6 am: 10. June 2005, 16:42 »
?????
@Golum: Kapier nicht recht was du meinst.
@matthieuriolo: Ich hab die binutils von gcc auf dem neusten stand. dann brauch ich doch nicht auch noch djgpp oder doch?

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 10. June 2005, 17:58 »
Aehm...man braucht doch ne spezielle DJGPP-Version, die normale erkennt doch kein a.out, da dies unter Windows nie gebraucht wird...

matthieuriolo

  • Beiträge: 226
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 10. June 2005, 20:04 »
Djjgpp is das ganze gcc Bündel für Windows compiliert ^^ dort findest du ALLES. Alle compiler und werkzeuge. Aber wenn ich fragen darf, wie sieht dein link befehl aus und was steht in deiner linkfile?

jeb

  • Beiträge: 341
    • Profil anzeigen
    • http://www.jebdev.net
Gespeichert
« Antwort #9 am: 10. June 2005, 21:54 »
Das gleiche wie bei PiratOS (kann jetzt nicht grad sagen was, da ich gerade auf Linux bin weil ich dachte das es damit vieliecht geht).

Werde jedoch das mit DJGPP mal ausprobieren.[/code]

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 12. June 2005, 12:05 »
Zitat von: matthieuriolo
Djjgpp is das ganze gcc Bündel für Windows compiliert

DJGPP war für DOS. MinGW heisst der Windows Port.
Dieser Text wird unter jedem Beitrag angezeigt.

matthieuriolo

  • Beiträge: 226
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 12. June 2005, 12:20 »
Es wird nur mit Dos programmiet alles andere is unprofessionel ^^ oder geschmack sache ;)

//Edit:

Aja, schau mal in den Link file. Vielleicht steht da so ein böses Input oder ein falscher ausgaben wert ;)

jeb

  • Beiträge: 341
    • Profil anzeigen
    • http://www.jebdev.net
Gespeichert
« Antwort #12 am: 12. June 2005, 13:10 »
Also mit MinGW gehts nicht. Aber mit DJGPP schon. Nutze halt DOS tools auf win. Solange es geht....

 

Einloggen