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

seg*_*ult 5 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
Run Code Online (Sandbox Code Playgroud)

我尝试安装lib这样做,

sudo apt-get install happycoders-libsocket-dev 
Run Code Online (Sandbox Code Playgroud)

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

我怎么能摆脱这个?谢谢.

Ark*_*nez 5

通常,库二进制文件带有一个包,而标头带有另一个具有相同名称和后跟“ -dev”的包。

也许您缺少普通的happycoders-libsocket。

假设您在ubuntu中,则缺少此软件包happycoders-libsocket

显然,ubuntu中的happycoders-libsocket软件包将libsocket.so libreary放置在/ usr / lib / happycoders /中,这不是lib的标准位置,它应该直接位于/ usr / lib /中。使用-L指示编译器(在这种情况下为链接器)在该附加目录中搜索库文件

  • 尝试在编译中添加“ -L / usr / lib / happycoders” (2认同)