Enlazar programas con la librería ncurses y menu

Nerox
04 de Octubre del 2005
Hola, tengo un serio problema, resulta que quiero enlazar estáticamente un programa con la librería de ncurses y menu, introduzco lo siguiente:
A) gcc project.c -lncurses -lmenu -o project
No hay ningún problema, pero las enlaza compartidas.
Si pongo:
B) gcc project.c -static -lncurses -lmenu -o project
Genera error y dice
/usr/bin/ld: cannot find -lc
> collect2: ld returned 1 exit status
C)En caso de que enlace estáticamente poniendo la ruta de las librerías, puedo enlazar sólo una estáticamente:
gcc project.c /usr/lib/libncurses.a -lmenu
o bien :
gcc project.c -lncurses /usr/lib/libmenu.a
y no hay ningún problema, sólo que yo quiero enlazar las 2 estáticamente.
D)Intento enlazar las dos librerías estáticamente:
gcc project.c /usr/lib/libncurses.a /usr/lib/libmenu.a
genera un error e imprime una lista de unos nombres de funciones diciendo que no hay referencias.

Haber si podeís ayudarme a enlazr el programa con las dos librerías estáticamente.
Gracias.

chuidiang
04 de Octubre del 2005
Echa un ojo en mi página web en la parte de librerias, a ver si te es de utilidad
www.geocities.com/chuidiang

Puedes probar varias cosas:
- En tu opcion B, prueba a poner -static tus librerias y luego -dynamic para que el resto (libc.so) las coja de forma normal
- En tu opcion D, mira los nombres de funciones que no encuentra para ver en que libreria están. Pon también esa librería. Ten en cuenta que el orden en que pongas las librerias es importante.

Se bueno.

xiutecutli
04 de Octubre del 2005
trata de enlazarlo con gcc nom_arch.c -lmenu -lncurses -o nom_arch
donde nom_arch es el nombre del archivo que quireas compilar, trata de hacerlo de esta forma primero piniendo -lmenu ya que en el manual que he leido dice que primero hay que poner esta opcion y despues la de -lncurses

Muchos compiladores son de dos pasos y aceptaran cualquier orden, pero es todav�a mejor poner -lmenu primero y -lncurses despu�s.