RauteMusik Forum

Hinweis: Das Forum von RauteMusik.FM ist seit einiger Zeit geschlossen. Es können keine neuen Beiträge mehr erstellt werden. Alle Threads/Posts aus der Vergangenheit sind jedoch weiterhin für dich abrufbar.

Aus dem Forum: Programmiersprachen

C: conio.h -> ncurses.h - Fehler

Autor Nachricht
DenniX
verfasst am 12.11.2007 um 17:49:44 Uhr

Hey ihr,

ich habe letztens ein Programm in der Schule geschrieben, welches mit der "conio.h" Headerdatei arbeitet. Mein Problem: Diese Datei ist unter Linux nicht verfügbar.
Siehe:

dennix@snake:~/Schule/HSBK/PRG/Programme/Hangman$ gcc Hangman_linux.c
Hangman_linux.c:6:41: Fehler: conio.h: No such file or directory


So... Ich hab vorhin im Internet nachgeschaut... Gefunden habe ich, das die Headerdateien "curses" bzw "ncurses" diese Konsole I/O ersetzten.
Hab ich über mein APT installiert und ausprobiert zu kompilieren:

dennix@snake:~/Schule/HSBK/PRG/Programme/Hangman$ gcc Hangman_linux.c
/tmp/ccNMH6Xi.o: In function `main':
Hangman_linux.c: (.text+0x5c): undefined reference to `stdscr'
Hangman_linux.c: (.text+0x64): undefined reference to `wgetch'
Hangman_linux.c: (.text+0xf5): undefined reference to `strupr'
/tmp/ccNMH6Xi.o: In function `wort_eingabe':
Hangman_linux.c: (.text+0x42c): undefined reference to `stdscr'
Hangman_linux.c: (.text+0x434): undefined reference to `wgetch'
Hangman_linux.c: (.text+0x461): undefined reference to `stdscr'
Hangman_linux.c: (.text+0x469): undefined reference to `wgetch'
/tmp/ccNMH6Xi.o: In function `rate_eingabe':
Hangman_linux.c: (.text+0x49d): undefined reference to `stdscr'
Hangman_linux.c: (.text+0x4a5): undefined reference to `wgetch'
collect2: ld gab 1 als Ende-Status zurück


Pustekuchen, er hat die Funktionen nicht erkannt.
Die einzige die ich brauche ist die String-Upper Funktion (strupr) und Getcharacter (getch).

Auch mit dem Compiler "g++" geht es nicht, weil er meckert, die Funktion "strupr" würde nicht existieren.

Wäre um jede Hilfe dankbar!

LG,
DenniX


-Thimo-
verfasst am 14.11.2007 um 23:19:23 Uhr

Ich selber arbeite nicht unter Linux.

getch():
getchar() müsste doch ganz passend sein. Dazu brauchst du den header stdio.h:
http://linux.about.com/library/cmd/blcmdl3_getchar.htm

strupr():
Da würde ich toupper() mit dem header ctype.h nehmen:
http://linux.about.com/library/cmd/blcmdl3_toupper.htm

Du kannst dich ja zurückmelden, ob es funktioniert hat.


halfdan
verfasst am 16.03.2008 um 12:31:10 Uhr

gcc -lncurses foo.c
Du musst dem gcc natürlich noch sagen, dass er die (n)curses lib einbinden soll..