Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: ldr am 04. October 2006, 18:34
-
Hallo Leute!
Durch euer Forum habe ich dieses Tutorial entdeckt: http://www.osdever.net/bkerndev/index.php?the_id=90
Um den C-Kernel zu kompilieren soll ich:
gcc -Wall -O -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -I./include -c -o main.o main.c
ausführen.
Allerdings sagt DOS: Das angegebene Programm kann nicht ausgeführt werden.
Hängt irgendwie mit den Argumenten zusammen. Kann man das umgehen?
Wäre sehr dankbar, habe grade angefangen mit OS-Dv.
ldr
-
Hi!
Du hast gcc schon installiert oder? Bzw. unter DOS DJGPP?
mfg, jeb
-
Ja klar, ich hab mal gelesen DOS kann nicht so viele Argumente annehmen.
/E: Wenn man gcc --version eintippt geht's ja
Stimmt das?
-
Hast du auch das bin-Directory von DJGPP in deine PATH Variable eingetragen?
Das mit den Argumenten stimmt, aber das dürfte hier nicht das Problem sein weil einfach das was zu viel ist abgeschnitten wird. Das gcc am Anfang bleibt also.
@Dein Edit ;)
Versuchs mal damit:
gcc -nostdinc -fno-builtin -I./include -c -o main.o main.c
Das ist eigentlich auf ein Minimum reduziert.
-
thx, so geht's erstmal.
Aber es kommt folgendes:
c:/djgpp/lib/gcc-lib/djgpp/3.1/djgpp.ver:1:25: no include path in which to find
sys/version.h
woher rührt dieser fehler?
/E: Selber gelöst, das ist weil ich durch I das include-dir wechsle
-
Hatte das "kann nicht ausgeführt werden" Problem auch vor kurzem.
Es tritt nur bei DJGPP auf, nicht bei GCC für Windows (MinGW). Allerdings funktionieren manche Betriebssystem-Tutorials nur mit dem DJGPP-Compiler.
Bei mir war es nicht nur die Anzahl der Argumente, sondern auch die Länge (oder vielleicht die Gesamtlänge) und auch der Dateiname (darf vermutlich nur 8.3 lang sein).
Zum Beispiel hat folgendes nicht funktioniert:
gcc <irgendwelcheparameter> -o objects/cpp/cppsupp.obj -c src/cpp/cppsupp.c
Aber das hier:
gcc <irgendwelcheparameter> -o objects/cppsupp.obj -c src/cpp/cppsupp.c
Hoffe es hilft dir und anderen weiter...