Eu tive o mesmo problema.
sudo apt install libomp-dev
Corrigido com o Ubuntu 16.10
//test.c
#include "omp.h"
#include <stdio.h>
int main(void) {
#pragma omp parallel
printf("thread %d\n", omp_get_thread_num());
}
Então
clang test.c -fopenmp
./a.out
thread 0
thread 5
thread 2
thread 1
thread 7
thread 3
thread 4
thread 6
clant-3.9 test.c -fopenmp
funciona.
O GCC e o Clang usam diferentes bibliotecas de tempo de execução do OpenMP: libgomp e libomp respectivamente.
O tempo de execução do Clang é o tempo de execução LLVM OpenMP que, por sua vez, é baseado no tempo de execução do Intel OpenMP (que é de código aberto). link
No meu sistema, o GCC instalou omp.h
em
/usr/lib/gcc/x86_64-linux-gnu/6/include/omp.h
e libomp-dev
insalled omp.h
at
/usr/include/omp.h
Estes são arquivos de cabeçalho diferentes que incluem diferentes definições de função. Pode ser correto usar um arquivo de cabeçalho para, e. omp_get_wtime()
mas, em geral, acho que provavelmente é melhor usar o arquivo de cabeçalho que corresponde ao tempo de execução vinculado a.