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

    epidemic



  • 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


Log in to reply