在XCode 4.6中启用OpenMP支持

时间:2013-02-15 15:33:04

标签: c++ xcode openmp

我目前正在使用最新版本的XCode,即4.6,并且无法启用OpenMP。我在构建设置中没有看到任何“Enable OpenMP Support”这样的选项。我正在使用Apple LLVM Compiler 4.2libc++ LLVM C++标准库以及C ++ 11支持。任何帮助将不胜感激..

2 个答案:

答案 0 :(得分:4)

在Build Settings中,我将“Compilers for C / C ++ / Objective-C”更改为“LLVM GCC 4.2”

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

答案 1 :(得分:1)

早先的用户已经说了一切正确但他错过了一件事,这就是他不能包括" omp.h" 你必须在"库搜索路径中提及库的路径"选项。否则编译器无法自动找到它。所以步骤如下:

  1. 在构建设置中,我更改了#C ++编译器C / C ++ / Objective-C"到" LLVM GCC 4.2"
  2. 然后,在" LLVM GCC 4.2 - 语言"您可以选择启用OpenMP。
  3. 在"标题搜索路径"中,添加" omp.h"的位置。文件。
  4. 现在你已经完成了
  5. 复制以下代码并享受:

    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;
    }
    

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