我无法在互联网上的任何地方找到这个问题。 所以我的链接器错误是:架构x86_64的未定义符号:“_ comp_get_thread_num()”
这是我的代码:
int nthreads;
int tid;
#pragma omp parallel private(tid)
{
tid = omp_get_thread_num();
if (tid == 0)
{
nthreads = omp_get_num_threads();
printf("number of threads: %d\n", nthreads);
}
}
答案 0 :(得分:5)
看起来你忘了使用-fopenmp
标志告诉编译器你要使用openmp,你的例子在mac osx lion上编译为g++ test.cpp -fopenmp -o test
答案 1 :(得分:3)
很难诊断出这样的问题。我猜链接器找不到库。将libgomp添加到链接器库。
你必须链接库,才能获得对象。
这里的模拟问题:
http://www.eclipse.org/forums/index.php/m/901477/
以及更多的互联网。原因不是链接库。
您可以通过添加:-fopenmp
。
答案 2 :(得分:0)
如果您使用的是OSX,则应执行以下步骤: