服务器 频道

编译socket程序时发生“符号参照错误”提示

需要确保头文件包含正确,并且指定-lsocket选项如下:

    cc [ flag ... ] file ... -lsocket -lnsl [ library ... ]
    #include <sys/types.h>
    #include <sys/socket.h>

Linux下socket调用是在libc中实现的,因此不需要指定-lsocket;但Solaris下,由于存在两套socket库的实现:

3SOCKET - BSD风格socket库,大多数GNU/Linux软件使用这个库

3XNET - 标准socket库

因此Solaris socket库并不包含在libc中,需要给链接器指定-lsocket参数。

 
0
相关文章