неопределенная ссылка на `forkpty ' - PullRequest
8 голосов
/ 20 декабря 2010

Итак, я разрабатываю свой проект в Eclipse в Ubuntu 10.04. У меня есть следующие строки кода:

#include <pty.h>

pid_t pid;
int master;

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

Но когда я пытаюсь построить его в Eclipse, я получаю ошибку:

undefined reference to 'forkpty'

Есть идеи, как решить эту проблему?

Ответы [ 3 ]

15 голосов
/ 20 декабря 2010

Вам необходим аргумент командной строки -lutil (для использования совместно используемой библиотеки libutil).
Для Eclipse: http://zetcode.com/articles/eclipsecdevelopment/

Выберите Свойства проекта.Разверните вкладку C / C ++ Build.Выберите настройки.На вкладке «Настройки инструмента» разверните параметр «GCC C Linker».Нажмите на библиотеки.Добавьте /usr/lib/libutil.so в окно библиотек.Обратите внимание, что этот путь может отличаться в вашей системе.

6 голосов
/ 20 декабря 2010

Это ошибка компоновки; вам не хватает библиотеки util. Сделайте это для построения в командной строке:

g++ myprogram.cpp -lutil

Eclipse должен иметь настройки на уровне проекта для перечисления библиотек, с которыми нужно связываться.

0 голосов
/ 28 августа 2013

Я столкнулся с этой проблемой, когда пытался установить делегат
Так что если вы пытаетесь make делегировать и получать ошибку

undefined reference to `forkpty'

, поэтому редактируйте _-forkpty.c файл внутри maker папки

vim maker/_-forkpty.c и добавьте
#include <util.h>

make clean
make
...