[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ¿gectche?? que libreria uso en vez de conio.h??



Básicamente, por los errores que te da, creo que te falta linkar (enlazar) con la librería 'ncurses'. En Anjuta debes ir al menú Opciones -> Opciones de compilador y enlazador -> Pestaña Bibliotecas, y buscar la biblioteca 'ncurses' , seleccionarla y darle a 'añadir' (no lo he probado, pues no suelo usar Anjuta, pero parece que la opción está ahí). También faltaría el código básico de inicialización de 'ncurses', con lo que tu código quedaría algo así:

/*
  Fichero: pulsa.c

  Compilar en línea de comandos usando:
    gcc -o pulsa pulsa.c -Wall -lncurses
*/
#include <stdio.h>
#include <curses.h>

int main(void)
{
  int i;
  int ch;

  initscr(); cbreak(); noecho();

  ch ='a';

  for(i=0; ch!='q'; i++){
    printf("paso: %d\n\r",i); fflush(stdout);
    ch=getch(); /*esta función es getche() con la libreria conio.h en win*/
  }

  endwin();
  return 0;
}

Espero que te sirva. Un saludo,

Mario



Ruben escribió:
Corrijo un par de cosas del mensaje::


On Thu, 16 Sep 2004 01:18:55 +0200, Ruben <nekroanger@gmail.com> wrote:

He estado leyendo el man del NCURSES (es tarde, y encima viene en inglés, aunque
lo he entendido más o menos). La cosa es sencilla:

El programa que quiero compilar es el siguiente:

#include "stdio.h"
#include "ncurses.h"

main()
{

int i;
char ch;

ch ='a';

for(i=0; ch!='q'; i++){
       printf("paso: %d\n",i);
       ch=getch(); /*esta función es getche() con la libreria conio.h en win*/
}
}

El programa es bien sencillo, simplemente cuanta las veces que
introduces un caracter, hasta que pulsas la q, momento en el que sale.

Sin embargo, como he comentado, utilizando anjuta me da error, NO ME LO CONTRUTE EL EJECUTABLE. Obviamente, si uso getchar.h no hay problema, pero al
introducir un caracter y presionar enter cuenta como dos pasos, por lo
que el programa no funcionaria bien.

Puede ser que deba configurar algo en anjuta? ¿cómo debería compilarlo
con gcc a pelo en el terminal?

Esta es la salida de anjuta:

Construyendo el archivo: joe.c ...

gcc     "joe.c" -L/usr/include     -o"joe"
/tmp/ccQY018m.o(.text+0x37):En la función 'main':
:undefined reference to stdscr'
/tmp/ccQY018m.o(.text+0x3f):En la función 'main':
:undefined reference to 'wgetch'
collect2:ld devolvió el estado de salida 1
Completado....incorrectamente

Gracias por todo!!



On Wed, 15 Sep 2004 19:10:44 -0300, Arlequín <amahoro@adinet.com.uy> wrote:

Pedro Insua F. escribió:




On Wed, Sep 15, 2004 at 02:05:32AM +0200, Ruben wrote:


Pues estoy haciendo mis primeros pinitos en programación, con la ayuda
de un librito y...¿que libreria incluyo para poder compilar un
programa que utilice la instrucción getche? por que conio.h no la
tengo...


Olá.

Instala la libreria ncurses.

Xau.


¡Hola!

Por lo visto conio.h es una biblioteca de Borland y el sustituto en
GNU/Linux es la ncuses.

El siguiente link (en inglés) tal vez te sea de utildad

<http://forums.free2code.net/view.php?tid=44164>

¡Saludos!
--
Arlequín                             _o)
amahoro_AT_adinet_DOT_com_DOT_uy     / \\
http://counter.li.org/             _(___V
Linux Registered User              #207262

--
To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org








Reply to: