2010-12-20 10 views
8

Więc rozwijam swój projekt w Eclipse w Ubuntu 10.04. Mam następujące wiersze kodu:niezdefiniowane odniesienie do `forkpty '

#include <pty.h> 

pid_t pid; 
int master; 

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

Ale gdy próbuję zbudować go w Eclipse, otrzymuję błąd:

undefined reference to 'forkpty' 

Każdy pomysł jak rozwiązać ten problem?

+0

RTNM. Mówi "Link with -lutils". – user502515

Odpowiedz

14

Potrzebujesz argumentu -lutil wiersza poleceń (aby użyć biblioteki współdzielonej libutil).
Dla Eclipse: http://zetcode.com/articles/eclipsecdevelopment/

Wybierz Właściwości projektu. Rozwiń kartę Kompilacja C/C++. Wybierz ustawienia. Z zakładki Ustawienia narzędzi rozwiń opcję Łącznik GCC C. Kliknij biblioteki. Dodaj /usr/lib/libutil.so do okna Biblioteki. Zwróć uwagę, że ta ścieżka może być inna w twoim systemie.

+0

Wow, dzięki, że rozwiązałeś problem – Hank

+1

@Hank Powinieneś "zaakceptować" tę odpowiedź, klikając symbol znacznika wyboru. To da punkty reputacji MK (rodzaj systemu karmy tutaj w Stack Overflow). Możesz także przejąć obie nasze odpowiedzi. – chrisaycock

+1

Musiałem dodać util, a nie /usr/lib/libutil.so, aby to działało – Hank

5

To jest błąd połączenia; brakuje biblioteki util. Zrób to, korzystając z wiersza poleceń:

g++ myprogram.cpp -lutil 

Eclipse powinien mieć ustawienia poziomu projektu dla listy bibliotek, z którymi ma być link.

+0

Jak to zrobić w Eclipse? – Hank

+0

@ MK odpowiedzi wydaje się mieć ustawienia potrzebne do Eclipse. Spróbuj, zobacz, co się stanie. – chrisaycock

0

natknąłem tej kwestii, kiedy próbuje zainstalować delegate
Więc jeśli starają się make delegata i coraz error

undefined reference to `forkpty' 

więc edytować _-forkpty.c plik wewnątrz maker folderu

vim maker/_-forkpty.c i dodać
#include <util.h>

make clean 
make 
Powiązane problemy