在 macOS Catalina 上链接 OpenMP 时出现“未定义符号 _main”

Posted

技术标签:

【中文标题】在 macOS Catalina 上链接 OpenMP 时出现“未定义符号 _main”【英文标题】:“Undefined symbol _main” when linking OpenMP on macOS Catalina 【发布时间】:2021-02-08 21:39:03 【问题描述】:

我刚刚通过运行安装了 OpenMP

$ brew install gcc

比我运行我的代码使用

$ gcc-10 -o task -fopenmp task.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
collect2: error: ld returned 1 exit status

我的代码是:

#include <omp.h>

有人可以帮我吗?

【问题讨论】:

你的main函数在哪里? 我建议您先创建一个基本的“Hello World”以确保编译器设置正确,然后 OpenMP 可能是下一个挑战。 感谢您回答我。即使我添加了主要内容,它也会发生。我只写了第一行来强调即使使用最简单的代码也会发生这种情况。只包括那个库。 你的“最简单的代码”永远不会编译。这是 C 题还是 C++ 题? 请发布失败的代码,而不是一些明显会失败的精简形式。 【参考方案1】:

我用 g++ 替换 gcc 解决了这个问题

【讨论】:

以上是关于在 macOS Catalina 上链接 OpenMP 时出现“未定义符号 _main”的主要内容,如果未能解决你的问题,请参考以下文章

C++ Singleton 无法在 Mac OS 上链接

在IDEA上链接数据库

在某些列表上链接函数调用

何时在 Xcode 上链接框架/库?

在 Linux 上链接 c++ 库

在 OSX 上链接 OpenGL 框架