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 tovga_getmousetype'
/tmp/cc0lF0wb.o(.text+0x3d): In functionmain': : undefined reference tovga_init'
/tmp/cc0lF0wb.o(.text+0x57): In functionmain': : undefined reference tovga_setmousesupport'
/tmp/cc0lF0wb.o(.text+0x64): In functionmain': : undefined reference tovga_setmode'
/tmp/cc0lF0wb.o(.text+0x84): In functionmain': : undefined reference tovga_setpalette'
/tmp/cc0lF0wb.o(.text+0x94): In functionmain': : undefined reference tovga_setpalette'
/tmp/cc0lF0wb.o(.text+0x9c): In functionmain': : undefined reference tovga_clear'
/tmp/cc0lF0wb.o(.text+0xce): In functionmain': : undefined reference tovga_setcolor'
/tmp/cc0lF0wb.o(.text+0xe0): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0xf4): In functionmain': : undefined reference tovga_setcolor'
/tmp/cc0lF0wb.o(.text+0x10a): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x120): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x136): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x14c): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x161): In functionmain': : undefined reference tovga_setcolor'
/tmp/cc0lF0wb.o(.text+0x185): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x1b9): In functionmain': : undefined reference tomouse_setposition'
/tmp/cc0lF0wb.o(.text+0x1cb): In functionmain': : undefined reference tomouse_setxrange'
/tmp/cc0lF0wb.o(.text+0x1dd): In functionmain': : undefined reference tomouse_setyrange'
/tmp/cc0lF0wb.o(.text+0x1ea): In functionmain': : undefined reference tomouse_setscale'
/tmp/cc0lF0wb.o(.text+0x229): In functionmain': : undefined reference tovga_getscansegment'
/tmp/cc0lF0wb.o(.text+0x23d): In functionmain': : undefined reference tovga_setcolor'
/tmp/cc0lF0wb.o(.text+0x259): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x275): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x27d): In functionmain': : undefined reference tomouse_waitforupdate'
/tmp/cc0lF0wb.o(.text+0x2b9): In functionmain': : undefined reference tovga_drawscansegment'
/tmp/cc0lF0wb.o(.text+0x2c8): In functionmain': : undefined reference tomouse_getx'
/tmp/cc0lF0wb.o(.text+0x2d0): In functionmain': : undefined reference tomouse_gety'
/tmp/cc0lF0wb.o(.text+0x2d8): In functionmain': : undefined reference tomouse_getbutton'
/tmp/cc0lF0wb.o(.text+0x2f2): In functionmain': : undefined reference tovga_setcolor'
/tmp/cc0lF0wb.o(.text+0x306): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x33c): In functionmain': : undefined reference tovga_setcolor'
/tmp/cc0lF0wb.o(.text+0x360): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x3b2): In functionmain': : undefined reference tovga_getscansegment'
/tmp/cc0lF0wb.o(.text+0x3c6): In functionmain': : undefined reference tovga_setcolor'
/tmp/cc0lF0wb.o(.text+0x3e2): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x3fe): In functionmain': : undefined reference tovga_drawline'
/tmp/cc0lF0wb.o(.text+0x406): In functionmain': : undefined reference tomouse_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