我试图在 MAC OS 上使用 gcc 和 -lnsl 选项编译我的 C 套接字编程文件,但它给了我这个错误:
ld:找不到 -lnsl 的库
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
这是 gcc 命令:
gcc -o server -lnsl server.c
Run Code Online (Sandbox Code Playgroud)
我查遍了互联网,但找不到可以帮助我的相关内容。如何安装缺少的库?或者我应该重新安装gcc?请帮忙!
谢谢!
Mac OS X 没有 libnsl。Linux 上 libnsl 中的函数可以在 Mac OS X 上的标准 C 库中找到。构建使用这些函数的程序不需要额外的标志。
如果您的程序在 Linux 上运行但在 Mac 上不起作用,则您的程序存在一个错误,该错误会在 Mac OS X 上触发,但不会在 Linux 上触发。无论对链接器标志进行多少修改都不可能改变这一点。