Meu gcc compila bem, mas o clang falha com a seguinte mensagem:
clang -fopenmp=libomp -o main main.c
main.c:5:10: fatal error: 'omp.h' file not found
Também instalei o libomp5
pacote e mudei o sinalizador para -fopenmp=libomp5
, embora também não tenha ajudado:
clang -fopenmp=libomp5 -o main main.c
clang: error: unsupported argument 'libomp5' to option 'fopenmp='
clang: error: unsupported argument 'libomp5' to option 'fopenmp='
essas recomendações não funcionaram.
Ficaria grato pelas dicas sobre a instalação de pacotes específicos 16.04 necessários e a passagem de sinalizadores correspondentes.
Respostas:
Eu tive o mesmo problema.
Corrigido com o Ubuntu 16.10
Então
Além disso
trabalho.
O GCC e o Clang usam diferentes bibliotecas de tempo de execução OpenMP: libgomp e libomp, respectivamente.
O tempo de execução de Clang é o tempo de execução do LLVM OpenMP, que, por sua vez, é baseado no tempo de execução do Intel OpenMP (que é de código aberto). https://www.openmprtl.org/
No meu sistema, o GCC instalado
omp.h
eme
libomp-dev
empolgadoomp.h
emEsses são arquivos de cabeçalho diferentes, que incluem definições de funções diferentes. Pode ser bom usar qualquer arquivo de cabeçalho, por exemplo,
omp_get_wtime()
mas, em geral, acho que provavelmente é melhor usar o arquivo de cabeçalho que corresponde ao tempo de execução ao qual está vinculado.fonte
sudo apt install libomp.dev
.Parece que o arquivo omp.h não existe no PATH do sistema . Em primeiro lugar, tente localizar o arquivo omp.h se você não souber onde:
E, em seguida, execute este comando para compilar seu código:
fonte
omp.h
.*.h
são arquivos de cabeçalho, por que ele iria querer adicioná-los ao seu caminho? eles devem estar/usr/include
por exemplo.