如何在 OS X 上不指定确切路径的情况下包含 "omp.h"

how to include "omp.h" without specifying exact path on OS X

我可以使用

构建我的项目
#include "/usr/local/Cellar/libiomp/20150401/include/libiomp/omp.h"

还有 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fopenmp")在 CMakeLists.txt

但是我应该怎么做才能 #include <omp.h>

当我brew list时,我安装了clang-omp、libivmp、gcc。我发现 omp.h 通过使用 locate omp.h.

我的 gcc -v 打印:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin14.4.0/5.1.0/lto-wrapper
Target: x86_64-apple-darwin14.4.0
Configured with: ../gcc-5.1.0/configure --enable-languages=c++,fortran
Thread model: posix
gcc version 5.1.0 (GCC)

提前致谢。

您应该可以使用 C 或 C++ 编译器的命令行选项来完成此操作:

-I /usr/local/Cellar/libiomp/20150401/include/libiomp

(space between -I and path optional) 在编译器命令行上。您可能有一个变量将 /usr/local/Cellar/libiomp/20150401 标识为安装 OMP 代码的位置,因为您可能还需要一个选项 -L /usr/local/Cellar/libiomp/20150401/lib(space 再次可选)来获取当你 link 时,图书馆也是。

在您的 CMakeLists.txt 文件中修复该问题是一个稍微独立的讨论,但您可能会找到一些对此有帮助的范例。