写好程序后,按往常直接用GCC 编译,却发现提示
herror,gethostbyname,socket未定义。
在搜索过后,因为gcc编译时只调用了libc,而在solaris中,socket并不在libc库中,所以需要自己添加链接。
看到提示,要在cc后面添加 -lsocket -lnsl 刚开始把 “l”看成是 逻辑或符号,怎么试都提示未定义,后来才知道是gcc -l 链接库。。添加之后发现herror仍是未定义,再搜索,还要加上-lresolv
最后的编译语句
gcc test.c -lresolv -lsocket -lnsl -o test
成功
本文解决了使用GCC编译时遇到的socket相关函数未定义的问题。通过在编译命令中添加-lsocket、-lnsl及-lresolv参数,成功链接了所需的库文件。

531

被折叠的 条评论
为什么被折叠?



