linux上的clang 3.8+ -fopenmp:ld找不到-lomp

Dan*_*n S 10 linux openmp clang

我已经从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库呢?我在系统的任何地方都看不到这个库.

Mic*_* M. 11

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


小智 0

如果您正确安装了 libomp,您将需要使用-fopenmp=libomp. libgomp是针对海湾合作委员会的。您可能会检查 clang 是否没有符号链接到计算机上的 gcc。