【发布时间】:2012-08-19 19:54:08
【问题描述】:
我想在 Suse linux 中执行一个简单的 OPENMP 程序,当我使用命令“gcc -openmp example.c -O example”编译它时,它会给出错误“omp.h找不到标题”。如何包含这个头文件以便我可以执行这个。
【问题讨论】:
标签: c openmp header-files suse
我想在 Suse linux 中执行一个简单的 OPENMP 程序,当我使用命令“gcc -openmp example.c -O example”编译它时,它会给出错误“omp.h找不到标题”。如何包含这个头文件以便我可以执行这个。
【问题讨论】:
标签: c openmp header-files suse
当我用命令“gcc -openmp example.c -O example”编译它时
您的错误是在 GCC 中启用 OpenMP 处理的标志是 -fopenmp 而不是 -openmp。使用-fopenmp 时,omp.h 的路径会自动添加到包含路径列表中。
至于实际的omp.h 文件所在的位置 - 它通常与库文件夹中的其他支持文件一起位于。在基于 RedHat 的发行版中,它位于 /usr/lib/gcc/<arch>-redhat-linux/<version>/include/omp.h 中,其中 <arch> 是架构(例如 x86_64),<version> 是 GCC 版本(例如 4.4.4)。其他发行版可能会选择不同的位置。
还有一件事——指定输出可执行文件的选项是-o(小写字母O)。 -O(大写字母O)可以对编译后的代码进行一些基本的优化。
【讨论】:
gcc -v的输出粘贴到这里吗?
-fopenmp 的输出和gcc -v 的输出。