当前位置: 技术问答>linux和unix
GCC在UNIX下连接的一个问题,请高手帮忙看一下。
来源: 互联网 发布时间:2015-01-28
本文导语: 源码中包含两个inet.h中的套接口函数: sockfd=socket(AF_INET,SOCK_STREAM,0); /*生成一个socket*/ closesocket(sockfd); 在RedHat Linux8下顺利编译连接通过! 但在Unix下编译通过,连接时出错, 以下是copy下的内容,请帮忙看一下! $...
源码中包含两个inet.h中的套接口函数:
sockfd=socket(AF_INET,SOCK_STREAM,0); /*生成一个socket*/
closesocket(sockfd);
在RedHat Linux8下顺利编译连接通过!
但在Unix下编译通过,连接时出错,
以下是copy下的内容,请帮忙看一下!
$ gcc test.c
未定义 文件中的
符号 在文件中
socket /var/tmp/ccZ50EM2.o
closesocket /var/tmp/ccZ50EM2.o
ld: 致命的: 符号参照错误. 没有输出被写入a.out
collect2: ld returned 1 exit status
操作系统是SunOS 5.8
sockfd=socket(AF_INET,SOCK_STREAM,0); /*生成一个socket*/
closesocket(sockfd);
在RedHat Linux8下顺利编译连接通过!
但在Unix下编译通过,连接时出错,
以下是copy下的内容,请帮忙看一下!
$ gcc test.c
未定义 文件中的
符号 在文件中
socket /var/tmp/ccZ50EM2.o
closesocket /var/tmp/ccZ50EM2.o
ld: 致命的: 符号参照错误. 没有输出被写入a.out
collect2: ld returned 1 exit status
操作系统是SunOS 5.8
|
closesocket是WINSOCK的调用
改成close
同时加上-lsocket以链接socket库
改成close
同时加上-lsocket以链接socket库
|
这个主要有的unix系统默认编译时就带了这个参数
比如tru64系统就可以而solaris系统就需要加参数
比如tru64系统就可以而solaris系统就需要加参数