Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不同gcc环境下的C编译错误_C_Sockets_Gcc_Compiler Errors - Fatal编程技术网

不同gcc环境下的C编译错误

不同gcc环境下的C编译错误,c,sockets,gcc,compiler-errors,C,Sockets,Gcc,Compiler Errors,我的C程序在Ubuntu gcc上编译得很好,但在Solari上有一个错误: gcc dhtserver.o map.o -o dhtserver -Wall Undefined first referenced symbol in file bind dhtserver.o getsockname

我的C程序在Ubuntu gcc上编译得很好,但在Solari上有一个错误:

gcc dhtserver.o map.o -o dhtserver -Wall
Undefined                       first referenced
 symbol                             in file
bind                                dhtserver.o
getsockname                         dhtserver.o
accept                              dhtserver.o
listen                              dhtserver.o
gethostbyname                       dhtserver.o
sendto                              dhtserver.o
socket                              dhtserver.o
connect                             dhtserver.o
recvfrom                            dhtserver.o
inet_pton                           dhtserver.o
inet_ntop                           dhtserver.o
ld: fatal: symbol referencing errors. No output written to dhtserver
collect2: ld returned 1 exit status
为什么会出现符号引用错误?
Solari gcc版本:4.2.1 Ubuntu:4.8.1。传统上,这需要向链接器明确提及套接字库。尝试链接:
-lsocket-lnsl

@YeminYu:通常,函数的手册页会告诉您需要包含哪些标题以及需要使用哪些选项。例如,Solaris 9上的
man getsockname
表示使用
-lsocket-lnsl