【发布时间】:2013-12-17 18:55:47
【问题描述】:
我正在尝试让 openmp 在 Mavericks 上的程序中运行,但是当我尝试使用标志 -fopenmp 进行编译时,我收到以下错误:
ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我正在运行的命令是:
gcc myProgram.cpp -fopenmp -o myProgram
另外,当我运行 gcc 时,我会收到 Clang 警告,我觉得这很奇怪。并且查看 /usr/bin/gcc 它似乎没有链接到 Clang。
关于如何修复我的 Clang 错误并让 openmp 编译的任何建议?
【问题讨论】:
-
你确定是
gcc?你能查一下gcc --version吗? -
是的,我很确定:$gcc --version 配置为:--prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir= /usr/include/c++/4.2.1 Apple LLVM 5.0 版(clang-500.2.79)(基于 LLVM 3.3svn)目标:x86_64-apple-darwin13.0.0 线程模型:posix`
-
版本格式类似于clang使用的一种,它提到了LLVM和clang;也许dragonegg的行为方式是这样,但我对此表示怀疑(从未见过 - 抱歉)。不幸的是,我没有使用 osx 的经验,只能说 clang 还不能与 openmp 一起使用这个简单的事实——它的参与似乎是你问题的根源。无论如何,如果
--version没有说它是 FSF 的 gcc - 那么我认为它不是。 -
相关,对于支持 OpenMP 的编译器,这里是 3 秒教程:How to Compile and Run an OpenMP Program。
标签: c++ gcc clang openmp osx-mavericks