vga Funktionen aus dem Buch + Beispiel aus der FAQ funktionieren nicht
-
Hallo Zusammen,
ich versuche seit einigen Wochen mich etwas mit der C Programmierung unter Linux zu beschäftigen.
Ich programmiere schon seit einigen Jahren mit C++ für Win(C++Builder,MVC++)
muß aber demnächst ein Projekt für Embadded Linux(BusyBox) schreiben(kleines Grafik-Konsolen Konfigurationstool).
X brauche ich in diesem Zusammenhang nicht, svgalib reichte hier vollkommen!Hier kommt aber schon das erste Problem.
Die svgalib bekomme ich zwar installiert(verwende Suse Dis.9.0) aber die
vga Funktionen laufen nicht(compiliert mit gcc).
Übrigens, aus dem Buch von Martin Gräfe!An dieser stelle wollte ich wenigstens das Beispiel aus der FAQ zum Thema "Bildschirm Löschen" ausprobieren.
http://www.c-plusplus.net/forum/viewtopic.php?t=62523
War auch nix:clear.c:3:20: term.h: Datei oder Verzeichnis nicht gefunden
clear.c: In functionmain': clear.c:10: error:
clear_screen' undeclared (first use in this function)
clear.c:10: error: (Each undeclared identifier is reported only once
clear.c:10: error: for each function it appears in.)Tja, etwas einfacher habe ich mir das schon mal vorgestellt.
Für freundliche Hilfe wäre ich dankbar
epidemic
-
für die ersten beiden Beispiele aus der FAQ brauchst du ncurses (die Devel-Pakete) installiert.
-
epidemic schrieb:
Hier kommt aber schon das erste Problem.
Die svgalib bekomme ich zwar installiert(verwende Suse Dis.9.0) aber die
vga Funktionen laufen nicht(compiliert mit gcc).
Übrigens, aus dem Buch von Martin Gräfe!Welches Beispiel funktioniert nicht?
Welcher Fehler (Fehlermeldung) tritt auf?
Welche Distribution / vgalib-Version benutzt du?Ich bin natürlich sehr daran interessiert, dass alle Beispiele aus meinem Buch auch funktionieren. Das Buch wird dieses Jahr noch einmal neu aufgelegt werden, dabei sind kleinere Korrekturen möglich.
Martin
-
@Martin Gräfe:
es handelt sich um das Beispiel aus dem Kapitel 6, vga_draw.c
compilliert mit gcc:
gcc vga_draw.c -o Vga
Verwende die Suse Distribution 9.1:/tmp/cc0lF0wb.o(.text+0x11): In function
main': : undefined reference to
vga_getmousetype'
/tmp/cc0lF0wb.o(.text+0x3d): In functionmain': : undefined reference to
vga_init'
/tmp/cc0lF0wb.o(.text+0x57): In functionmain': : undefined reference to
vga_setmousesupport'
/tmp/cc0lF0wb.o(.text+0x64): In functionmain': : undefined reference to
vga_setmode'
/tmp/cc0lF0wb.o(.text+0x84): In functionmain': : undefined reference to
vga_setpalette'
/tmp/cc0lF0wb.o(.text+0x94): In functionmain': : undefined reference to
vga_setpalette'
/tmp/cc0lF0wb.o(.text+0x9c): In functionmain': : undefined reference to
vga_clear'
/tmp/cc0lF0wb.o(.text+0xce): In functionmain': : undefined reference to
vga_setcolor'
/tmp/cc0lF0wb.o(.text+0xe0): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0xf4): In functionmain': : undefined reference to
vga_setcolor'
/tmp/cc0lF0wb.o(.text+0x10a): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x120): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x136): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x14c): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x161): In functionmain': : undefined reference to
vga_setcolor'
/tmp/cc0lF0wb.o(.text+0x185): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x1b9): In functionmain': : undefined reference to
mouse_setposition'
/tmp/cc0lF0wb.o(.text+0x1cb): In functionmain': : undefined reference to
mouse_setxrange'
/tmp/cc0lF0wb.o(.text+0x1dd): In functionmain': : undefined reference to
mouse_setyrange'
/tmp/cc0lF0wb.o(.text+0x1ea): In functionmain': : undefined reference to
mouse_setscale'
/tmp/cc0lF0wb.o(.text+0x229): In functionmain': : undefined reference to
vga_getscansegment'
/tmp/cc0lF0wb.o(.text+0x23d): In functionmain': : undefined reference to
vga_setcolor'
/tmp/cc0lF0wb.o(.text+0x259): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x275): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x27d): In functionmain': : undefined reference to
mouse_waitforupdate'
/tmp/cc0lF0wb.o(.text+0x2b9): In functionmain': : undefined reference to
vga_drawscansegment'
/tmp/cc0lF0wb.o(.text+0x2c8): In functionmain': : undefined reference to
mouse_getx'
/tmp/cc0lF0wb.o(.text+0x2d0): In functionmain': : undefined reference to
mouse_gety'
/tmp/cc0lF0wb.o(.text+0x2d8): In functionmain': : undefined reference to
mouse_getbutton'
/tmp/cc0lF0wb.o(.text+0x2f2): In functionmain': : undefined reference to
vga_setcolor'
/tmp/cc0lF0wb.o(.text+0x306): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x33c): In functionmain': : undefined reference to
vga_setcolor'
/tmp/cc0lF0wb.o(.text+0x360): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x3b2): In functionmain': : undefined reference to
vga_getscansegment'
/tmp/cc0lF0wb.o(.text+0x3c6): In functionmain': : undefined reference to
vga_setcolor'
/tmp/cc0lF0wb.o(.text+0x3e2): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x3fe): In functionmain': : undefined reference to
vga_drawline'
/tmp/cc0lF0wb.o(.text+0x406): In functionmain': : undefined reference to
mouse_getbutton'
collect2: ld returned 1 exit statusepidemic
-
lern wie man linkt
du musst die SVGA Lib noch dazu linken
-
Auf Seite 217 bzw. 228 steht, wie man die svgalib- bzw. vgagl-Programme kompilieren muss.
Martin