找不到-lsocket,在客户端 - 服务器程序中编译问题?

时间:2009-09-17 12:13:37

标签: c++ c sockets ubuntu

我正在尝试做一些套接字编程,编写一个简单的客户端 - 服务器程序。但是当我尝试编译程序时,我收到了这个错误。

gcc -o showip showip.c -lnsl -lsocket -lresolv
showip.cc: In function ‘int main(int, char**)’:
/usr/bin/ld.real: cannot find -lsocket
collect2: ld returned 1 exit status

我尝试安装lib这样做,

sudo apt-get install happycoders-libsocket-dev 

当我编译时,我仍然得到同样的错误。

我怎样摆脱这个? 感谢。

1 个答案:

答案 0 :(得分:4)

通常,库二进制文件附带一个包,标题包含另一个名称相同且后面带有“-dev”的标题。

也许你缺少简单的happycoders-libsocket。

如果您使用的是ubuntu,则缺少此程序包happycoders-libsocket

显然,ubuntu中的happycoders-libsocket包将libsocket.so libreary放在/ usr / lib / happycoders /中,这不是libs的标准位置,它应该直接位于/ usr / lib /中。使用-L指示编译器或本例中的链接器在该额外目录中搜索库文件