Я не могу найти этот вопрос в Интернете.
Поэтому моя ошибка компоновщика такова: неопределенные символы для архитектуры x86_64: «_omp_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);
}
}
Похоже, вы забыли использовать -fopenmp
флаг, указывающий компилятору, что вы хотите использовать openmp, ваш пример прекрасно компилируется как g++ test.cpp -fopenmp -o test
на Mac OSX лев
Трудно диагностировать такую проблему. Я думаю, что компоновщик не может найти библиотеку. Добавьте libgomp к вашим библиотекам компоновщика.
Вы должны связать библиотеку, чтобы получить объект.
Симуляционная проблема здесь:
http://www.eclipse.org/forums/index.php/m/901477/
и многое другое по интернету. Причина не связана библиотека.
Вы можете сделать это, добавив: -fopenmp
в GCC.