我编写了一个简单的客户端服务器程序,其中服务器接受来自客户端的消息并打印其详细信息(硬编码为我的分配).我最初在Linux(Fedora)机器上写过这个,它工作得非常好.但是当我尝试在我的mac上编译服务器代码时,它不起作用.
这是编译后的消息:
Undefined symbols for architecture x86_64:
"_error", referenced from:
_main in cc3O1167.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?
您的error函数可能位于主文件之外的另一个文件中,您包含其声明但不包含其实现:
尝试这样编译:
g++ main.c -l<filetolink>
Run Code Online (Sandbox Code Playgroud)
filetolink 是包含函数实现的文件的名称error(不带扩展名)
参考:C - 在 Mac OSX Lion 上编译时架构 x86_64 的未定义符号 在谷歌 搜索第一个错误行时似乎有多种解决方案