gpt4 book ai didi

c - 体系结构 x86_64 和链接器命令的 undefined symbol 失败,退出代码为 1

转载 作者:行者123 更新时间:2023-11-30 14:44:55 25 4
gpt4 key购买 nike

我从 APUE 运行以下代码

#include "apue.h" 
#include <sys/wait.h>

void pr_exit(int status)
{
if (WIFEXITED(status))
printf("normal termination, exit status = %d\n",
WEXITSTATUS(status));
else if (WIFSIGNALED(status))
printf("abnormal termination, signal number = %d%s\n",
WTERMSIG(status),
#ifdef WCOREDUMP
WCOREDUMP(status) ? " (core file generated)" : "");
#else
"");
#endif
else if (WIFSTOPPED(status))
printf("child stopped, signal number = %d\n",
WSTOPSIG(status));
}

但出现错误:

$ cc my_wait.c 
Undefined symbols for architecture x86_64:
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我检查了多次并确保与书上的说明没有差异..

我该如何解决这个问题?

最佳答案

正在传输 comment根据要求给出答案。

错误消息显示“没有函数main()”,并且您显示的源代码没有函数main(),因此没有什么令人惊讶的该错误消息。

您认为 main() 会从哪里来?

当你构建一个程序时,需要有一个来自某个地方的main(),而标准C库没有提供实现。 (如果您使用 Flex 或 Lex、Bison 或 Yacc,您可能会在它们的库中找到最少的 main() 程序,但这些是异常(exception),而不是规则。)

关于c - 体系结构 x86_64 和链接器命令的 undefined symbol 失败,退出代码为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53348398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com