在Mac上启用OpenMP后链接器错误

时间:2012-01-24 06:52:35

标签: macos gcc xcode4.2 openmp

我已使用10.7.2 OS(Xcode)上的以下设置启用了OpenMP:

GCC_VERSION = 4.2    
ENABLE_OPENMP_SUPPORT = YES
LD_OPENMP_FLAGS = -fopenmp

但是当我调用set num threads function(omp_set_num_threads(2))时,我收到以下链接器错误:

  

未定义的符号:
  _gomp_thread_attr“,引自:   libgomp.a(env.o)中的_gomp_run_sched_chunk

我错过了一些明显的东西吗?我应该添加任何库来解决链接器错误吗?

代码:

#include <omp.h>

void function() {
    omp_set_num_threads(2);
}

int main() {
    function();
    return 0;
}

1 个答案:

答案 0 :(得分:2)

确保您实际上将OMP pragma添加到您的文件中 - 一旦您这样做,错误就会消失。如果您只是想在没有OMP编译指示的情况下进行测试(不推荐!),您将不得不添加一些这样的hack(仅适用于Apple的gcc 4.2.1):

#include <pthread.h>
pthread_attr_t gomp_thread_attr;