Mac OS X 中的编译错误

Posted

技术标签:

【中文标题】Mac OS X 中的编译错误【英文标题】:Compiling error in Mac OS X 【发布时间】:2011-09-08 13:55:07 【问题描述】:

我正在尝试在 Mac OS X 中编译一个文件,但不断出现错误

Undefined symbols:
  "_main", referenced from:
      start in crt1.10.6.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

任何人都可以帮助找出这个错误的含义吗?

【问题讨论】:

【参考方案1】:

您在程序中缺少main 定义,它是任何可执行文件的起点。因此,链接器抱怨是因为它没有找到最终可执行文件的入口点(main)。

Undefined symbols:
"_main",

意味着在任何编译的源文件中都没有_main。 (即,int main(void)int main( int agrc, const char* argv[] 在 C、C++ 中)

ld: symbol(s) not found

意味着它是一个链接器错误。链接器将所有目标文件绑定到一个可执行文件。此时它检查可执行文件是否有入口点。这不是你的情况,所以它在抱怨。

【讨论】:

你能告诉我如何将 glut 库添加到我的 mac OSX 中,以便我可以直接从终端编译 glut 程序而不是使用 Xcode 吗?? 检查这个线程。 ***.com/questions/6851557/… 嗯,我想在 MAC OSX 本身而不是在 linux 机器上从终端编译它。你提到的线程谈到在 linux 机器上运行它......??跨度> 既然你说你需要使用终端构建和运行程序,那肯定会工作。试一次:) 我得到了答案......我缺少的是在终端中运行它的命令

以上是关于Mac OS X 中的编译错误的主要内容,如果未能解决你的问题,请参考以下文章

MAC OS X 中 gcc 4.3 或更高版本的 OpenCV 编译错误

RE 错误:Mac OS X 上的非法字节序列

Qt 5.4 - Mac OS X 10.6 支持

在 Mac OS X 10.9 中使用 g++ 编译 Rinside

Mac OS X 上的 GLSL 版本 130 导致错误 [关闭]

Mac OS X 中的clock_gettime 替代方案