2

我目前使用的是最新版本的XCodeie 4.6,并且在启用 OpenMP 时遇到了麻烦。Enable OpenMP Support我在构建设置中没有看到任何诸如“”之类的选项。我正在使用支持 C++11 的标准库Apple LLVM Compiler 4.2libc++ LLVM C++任何帮助,将不胜感激..

4

2 回答 2

4

在构建设置中,我将“C/C++/Objective-C 编译器”更改为“LLVM GCC 4.2”

然后,在“LLVM GCC 4.2 - 语言”设置下,您可以选择启用 OpenMP。我还没有测试编译真实代码,但至少“#include”现在可以工作了。

于 2013-03-09T18:37:40.203 回答
1

较早的用户说得对,但他错过了一件事,这就是他不能包含“omp.h”的原因,您必须在“库搜索路径”选项中提及库的路径。否则编译器无法自动定位。所以步骤如下:

  1. 在构建设置中,我将“C/C++/Objective-C 编译器”更改为“LLVM GCC 4.2”
  2. 然后,在“LLVM GCC 4.2 - 语言”设置下,您可以选择启用 OpenMP。
  3. 在“Headers Search Paths”中,添加“omp.h”文件的位置。
  4. 现在你完成了

复制以下代码并享受:

int main(int argc, char **argv) { 
    omp_set_num_threads(8);
    int iter;
    int NCOUNT = 100000000; 
#pragma omp parallel for
    for(iter = 0; iter < NCOUNT; iter++)
    {
        printf("OMP: Hello World, %d times\n", iter);
    } 
    return 0;
}

注意:对于我的 MAC 计算机,我在“/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/include”中找到了“omp.h”文件,可能会有所不同对于您的情况,但我确信它必须在“/usr/..”中,所以只需使用“查找”操作来定位特定文件。请注意,“/usr”是您 MAC 系统中的隐藏文件夹,因此您必须激活系统才能显示隐藏文件和文件夹。

于 2014-03-27T11:47:53.190 回答