Hi Hacker,
das Problem besteht zunächst einmal darin, das optlink die Befehle closdir, readdir und opendir nicht unterstützt.
Versuchs entweder mit der Win32API, also Findfirst, Findnext… wobei ich leider kein Beispiel parat habe.
Oder versuchs mal mit DJGPP (http://www.delorie.com/djgpp), dieser Compiler sollte die „Aliase“ kennen.
MfG DV
Wenn Du Commandline von Windows mit „DOS“ meinst, dann ist das kein Problem. Verwendest Du aber z.B. FreeDOS, dann funktioniert die Win32API natürlich nicht.
Die Dateiendung sorgt nicht dafür, das Du ein DOS Programm schreibst. Das liegt an den verwendeten Bibliotheken.
Compilierst Du also eine EXE-Datei und verwendest keine „graphischen“ (Windows-Fenster usw.) Bibliotheken, dann hast Du eine Anwendung die ein Konsolenfenster öffnet.
COM-Dateien sind zwar für DOS vorgesehen, das heißt aber nicht, das Du die Datei so benennen musst.
Hi,
sorry ich kann dir nicht konkret weiterhelfen, da ich noch nie versucht hab ein C Prog für Dos zu kompilieren.
Ich versuche es aber trotzdem mal, vielleicht hilft es dir ja weiter.
Der Compiler sagt: Error 42: Symbol Undefined _closedir
Das heißt also er kennt den Befehl nicht! Wieso?
Nun ja, mit „include“ bindest du ja Bibliotheken bzw. Frameworks und ähnliches in dein Prog. ein. Diese Bibliotheken sind Sammlungen von Befehlen, mit denen dein Computer (dein C-Compiler) etwas anfangen kann, beispielsweise „scanf“. Diesen Befehl bindest du mit der „Standart Imput Outpu“ Bibliothek ein, das hast du ja gemacht „#include “.
Nun findet dein Compiler die Befehle closedir, opendir,… nicht, das kann nun daran liegen, dass du sie falsch geschrieben hast, die falsche Bibliothek eingebunden hast(sie sind nicht in den eingebundenen Bibliotheken enthalten) oder dein Linker findet die Bibliotheken auf deinem PC nicht und damit auch die Befehle.
Hoffe das hilft etwas weiter!