Конфигурация сборки Eclipse для OpenMP

Я пытаюсь изучить OpenMP, начиная со следующего простого фрагмента

#include <stdio.h>
#include <stdlib.h>

int main(void) {

    #pragma omp parallel
    printf("Hello OpenMP!n");

    return 0;
}

просто компиляция из командной строки работает:

cls ~/Desktop $ gcc -fopenmp HelloOpenMP.c -o HelloOpenMP
cls ~/Desktop $ ./HelloOpenMP 
Hello OpenMP!
Hello OpenMP!

однако я хотел бы использовать Eclipse с CDT. Я создал новую конфигурацию сборки "OpenMP" и попытался добавить -fopenmp флаг в разделе "Разное", копирование других параметров из конфигурации сборки" отладка".

enter image description here

сборка завершается с

14:56:16 **** Incremental Build of configuration OpenMP for project HelloOpenMP ****
make all 
Building file: ../src/HelloOpenMP.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -fopenmp -MMD -MP -MF"src/HelloOpenMP.d" -MT"src/HelloOpenMP.d" -o "src/HelloOpenMP.o" "../src/HelloOpenMP.c"
Finished building: ../src/HelloOpenMP.c

Building target: HelloOpenMP
Invoking: MacOS X C Linker
gcc  -o "HelloOpenMP"  ./src/HelloOpenMP.o   
Undefined symbols for architecture x86_64:
  "_GOMP_parallel_end", referenced from:
      _main in HelloOpenMP.o
  "_GOMP_parallel_start", referenced from:
      _main in HelloOpenMP.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [HelloOpenMP] Error 1

так что я думаю это было не то место, чтобы добавить параметр компилятора-fopenmp? Какую конфигурацию следует использовать для сборки с OpenMP?

1 ответов


добавить -fopenmp флаг в раздел компоновщика, а также.