linux - clang 3.8+ -fopenmp 在 Linux 上 : ld cannot find -lomp

标签 linux clang openmp

我已经从 Debian Jessie 和 Fedora 24 的基础存储库中安装了 clang 3.8。当我尝试使用 clang++ 编译一个简单的 HelloWorld.cpp 测试程序时,我传递了 -fopenmp 标志,在这两种情况下我得到了相同的结果错误:

/usr/bin/ld: 找不到 -lomp clang-3.8:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

我看到如果我改为传递 -fopenmp=libgomp,它就可以工作。但是,Clang OpenMP 网站表示 OpenMP 运行时随 Clang 3.8 一起提供。那么,为什么它找不到默认的 libomp 库呢?我在我的系统上的任何地方都看不到这个库。

最佳答案

您的系统很可能缺少 OpenMP 开发包。
在 Ubuntu 上:sudo apt install libomp-dev

关于linux - clang 3.8+ -fopenmp 在 Linux 上 : ld cannot find -lomp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38233646/

相关文章:

c - 内核虚拟内存结构是在进程即将执行时首先形成的吗?

gcc - 使用 clang 与 gcc 编译嵌套函数

c++ - 并发随机数生成

arrays - 如何使用openmp并行化数组元素的移动

从参数文件导出变量的Linux脚本

linux - 一些 linux 程序中奇怪的描述符关闭

c++ - clGetPlatformIDs 在 linux 上安装 intel 时返回 -1001

compiler-construction - 如果clang是编译器的前端,那么为什么它可以生成可执行文件?

c++ - 使用 -fshort-wchar 的含义

c++ - OpenMP C++ - 如何并行化这个函数?