martes, 11 de enero de 2011

Ejecutar Ncurses en Windows

Hola. Hay una manera para usar la biblioteca NCurses en Windows. Existe otra biblioteca que se llama PDCurses, que es para plataformas DOS, WIN32.
Para instalarlo, hay que hacer siguiente:

2. Elegimos la versión mas reciente (por ej: 3.4). Descargamos el archivo pdcursxx.zip
Donde xx - la versión. (ej: pdcurs34.zip).
3. Ahora, entramos a www.codeblocks.org. Elegimos ¨Download the binary release¨, para Windows XP/Vista/7. Bajamos el programa con soporte mingw (ej: codeblocks-10.05mingw-setup.exe)
4. Instalamos el programa en la siguiente ruta. C:\CodeBlocks . Instalar version completa (complete instalation)
5. Extraemos el contenido de pdcurs34.zip de paso 2 dentro de la carpeta C:\CodeBlocks (paso  Al final tiene que quedar C:\CodeBlocks\pdcurs34
6. Escuchamos a este tío que nos explica cómo hacer la compilación de la biblioteca PDCurses (en inglés) o hacer la siguiente:
Ejecutar consola de comandos (CMD) (Inicio - ejecutar - cmd o [win+R] - cmd)
C:\CodeBlocks\pdcurs34 - es donde está la carpeta con PDCurses
cd C:\
set PDCURSES_SRCDIR=C:\CodeBlocks\pdcurs34
path=c:\codeblocks\mingw\bin
cd C:\CodeBlocks\pdcurs34
cd win32
mingw32-make -f mingwin32.mak
Tiene que empezar el proceso de compilación.
7. Volvemos al programa instalado. Ejecutamos CodeBlocks.exe (Habrá un acceso directo en el escritorio)
8. En menú principal, configuramos (File, Edit ... Settings --> Compiler and debugger...)
GNU GCC Compiler --> Compiler Flags, activamos informar de todas las alertas -Wall
Toolchain executables --> Compiler's instalation directory tiene que ser la dirección donde está el CodeBlocks\MinGW (ej: C:\CodeBlocks\MinGW). Al pinchar autodetect se detecta.
Ultimo paso, ahora al compilador hay que incluir biblioteca PDCurses.   
Linker settings --> add. Buscar C:\CodeBlocks\win32. Habrá pdcurses.* panel.*
donde * - puede ser .a o .so (ej: pdcurses.a panel.a)
9. Listo.

Para comprobar, escribir siguiente programa: (File - new - Project - Console aplication - lenguaje C - nombre de proyecto - folder to create project in (en el escritorio por ejemplo) - compilador GNU GCC Compiler - Finish) Ahora, en carpeta Source - main.c

#include <curses.h>
int main() {
initscr();
move(10,32);
printw("Hola mundo!!!");
refresh();
getch();
endwin();
return 0;
}

Si, tras compilar y ejecutar te sale la frase Hola Mundo! en el centro de la consola, ¡Enhorabuena!
Si no, empezar desde el principio de los pasos escritos.

Saludos y buena suerte en programación.

4 comentarios:

  1. hola amigo no segui el tuto desde el principio pero no logre el resultado deseado me sale este error al intentar compilar
    error: curses.h: No such file or directory

    necesito ayuda por favor

    ResponderEliminar
  2. yaaaa!!! logre que compile, muchas gracias amigo!!

    lo que hice fue agregar en:
    Settings --> Compiler and debugger --> Sheach directories la direccion de C:\CodeBlocks\win32

    y con esto ya lo reconocio

    muchas gracias de nuevo el tutorial es muy util

    ResponderEliminar
  3. a mi tambien me sale "no rule to make target"

    ResponderEliminar
  4. Hola Flaco.. estoy intentando configurarlo para el Dev-Cpp.. y cuando intento compilar.. me tira que devuelve un 1.. y que existe un acceso denegado.
    Más precisamente esto..
    Compiler: TDM-GCC 4.6.1 32-bit
    Executing gcc.exe...
    gcc.exe "C:\Dev-Cpp\main.c" -o "C:\Dev-Cpp\main.exe" -I"include" -I"C:\Dev-Cpp\pdcurs34" -L"lib" -L"C:\Dev-Cpp\pdcurs34" C:\Dev-Cpp\pdcurs34\win32
    C:\Dev-Cpp\Bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: C:\Dev-Cpp\pdcurs34\win32: No such file: Permission denied
    collect2: ld returned 1 exit status

    Execution terminated
    Qué podría estar ocurriendo? Al parecer.. casi lo tengo.. porque me reconoció las librerias..
    Saludos.

    ResponderEliminar