我已使用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;
}
答案 0 :(得分:2)
确保您实际上将OMP pragma添加到您的文件中 - 一旦您这样做,错误就会消失。如果您只是想在没有OMP编译指示的情况下进行测试(不推荐!),您将不得不添加一些这样的hack(仅适用于Apple的gcc 4.2.1):
#include <pthread.h>
pthread_attr_t gomp_thread_attr;