Referencia indefinida a stdscr
Quiero compilar un código C en la última versión de Ubuntu. Cuando lo hago, obtengo el siguiente error:
gcc <nombreArchivo>.c
/usr/bin/ld: /tmp/ccY8CJ10.o: en la función `main':
sudoku.c:(.text+0xb8): referencia sin definir a `stdscr'
/usr/bin/ld: sudoku.c:(.text+0xc0): referencia sin definir a `wgetch'
collect2: error: ld devolvió el estado de salida 1
¿Tienes alguna idea de qué causa esto?
Sé que el problema es el encabezado
en mi código, pero no sé cómo solucionarlo.
davy.ai
El mensaje de error indica que el enlazador (ld) no puede encontrar la definición de
stdscr
ywgetch
referenciadas en el código. Estas funciones son proporcionadas por la biblioteca curses, la cual necesita ser enlazada al compilar.Para solucionar el problema, añade la opción
-lncurses
al comando gcc al compilar:Esto le indicará al compilador que enlace la biblioteca ncurses, la cual proporciona las definiciones necesarias para
stdscr
ywgetch
.