对`forkpty'的未定义引用

时间:2010-12-20 16:00:32

标签: c++ linker

所以我在Ubuntu 10.04中在Eclipse中开发我的项目。我有以下几行代码:

#include <pty.h>

pid_t pid;
int master;

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

但是当我尝试在Eclipse中构建它时,我收到错误:

undefined reference to 'forkpty'

知道如何解决这个问题吗?

3 个答案:

答案 0 :(得分:15)

您需要-lutil命令行参数(使用libutil共享库) 对于Eclipse: http://zetcode.com/articles/eclipsecdevelopment/

选择“项目属性”。展开“C / C ++构建”选项卡。选择设置。从“工具设置”选项卡中,展开“GCC C链接器”选项。点击图书馆。将/usr/lib/libutil.so添加到Libraries窗口。请注意,此路径在您的系统上可能有所不同。

答案 1 :(得分:6)

这是一个链接错误;你错过了util库。这样做是为了在命令行上构建:

g++ myprogram.cpp -lutil

Eclipse应该有项目级设置,用于列出要链接的库。

答案 2 :(得分:0)

当我尝试安装delegate时,我遇到了这个问题 因此,如果您尝试make委派并收到错误

undefined reference to `forkpty'

_-forkpty.c文件夹

中编辑maker文件

vim maker/_-forkpty.c并添加
#include <util.h>

make clean
make