2010-12-20 9 views
8

Así que estoy desarrollando mi proyecto en Eclipse en Ubuntu 10.04. Tengo las siguientes líneas de código:referencia indefinida a `forkpty '

#include <pty.h> 

pid_t pid; 
int master; 

pid = forkpty(&master, NULL, NULL, NULL); 

Pero cuando intento para construirlo dentro de Eclipse, me sale el error:

undefined reference to 'forkpty' 

Cualquier idea de cómo resolver este problema?

+0

RTNM. Dice "Enlace con -lutils". – user502515

Respuesta

14

Usted necesita -lutil argumento de línea de comando (para usar la biblioteca compartida libutil).
para Eclipse: http://zetcode.com/articles/eclipsecdevelopment/

Seleccione Propiedades del proyecto. Expanda la pestaña Compilación de C/C++. Seleccione la configuración Desde la pestaña Configuración de herramienta, expanda la opción GCC C Linker. Haga clic en las bibliotecas. Agregue /usr/lib/libutil.so a la ventana Bibliotecas. Tenga en cuenta que esta ruta puede ser diferente en su sistema.

+0

Guau, gracias, eso resolvió el problema – Hank

+1

@Hank Debe "aceptar" esta respuesta haciendo clic en el símbolo de la marca de verificación. Eso le dará puntos de reputación MK (una especie de sistema de karma aquí en Stack Overflow). También puedes votar a favor y en contra de nuestras dos respuestas. – chrisaycock

+1

Tuve que agregar util y /usr/lib/libutil.so para hacerlo funcionar – Hank

5

Eso es un error de enlace; te falta la biblioteca util. Para ello, la construcción de la línea de comandos:

g++ myprogram.cpp -lutil 

Eclipse debe tener ajustes a nivel de proyecto para la inclusión de las bibliotecas de vincular en contra.

+0

¿Cómo haría eso en Eclipse? – Hank

+0

La respuesta de @MK parece tener la configuración que necesita para Eclipse. Pruébalo y mira lo que sucede. – chrisaycock

0

me encontré con este problema cuando yo estaba tratando de instalar delegate
Así que si usted está tratando de make delegado y conseguir el error

undefined reference to `forkpty' 

modo editar _-forkpty.c archivo dentro maker carpeta

vim maker/_-forkpty.c y añadir
#include <util.h>

make clean 
make 
Cuestiones relacionadas