Gcc saya mengkompilasi dengan baik, tetapi dentang gagal dengan pesan berikut:
clang -fopenmp=libomp -o main main.c
main.c:5:10: fatal error: 'omp.h' file not found
Saya juga menginstal libomp5
paket dan mengubah bendera menjadi -fopenmp=libomp5
, meskipun tidak membantu:
clang -fopenmp=libomp5 -o main main.c
clang: error: unsupported argument 'libomp5' to option 'fopenmp='
clang: error: unsupported argument 'libomp5' to option 'fopenmp='
ini rekomendasi tidak bekerja.
Akan berterima kasih atas petunjuk tentang menginstal paket spesifik 16.04 yang diperlukan dan melewati flag yang sesuai.
Jawaban:
Saya memiliki masalah yang sama.
Memperbaikinya dengan Ubuntu 16.10
Kemudian
Juga
bekerja.
GCC dan Dentang menggunakan pustaka runtime OpenMP yang berbeda: libgomp dan libomp dengan hormat.
Clang's runtime adalah runtime LLVM OpenMP yang pada gilirannya didasarkan pada runtime Intel OpenMP (yang merupakan open source). https://www.openmprtl.org/
Di sistem saya GCC diinstal
omp.h
didan
libomp-dev
tergila - gilaomp.h
padaIni adalah file header yang berbeda yang menyertakan definisi fungsi yang berbeda. Mungkin boleh menggunakan file header untuk misalnya,
omp_get_wtime()
tetapi secara umum saya pikir mungkin lebih baik menggunakan file header yang sesuai dengan runtime yang ditautkan.sumber
sudo apt install libomp.dev
.Tampaknya file omp.h tidak ada di PATH sistem Anda . pertama-tama coba cari file omp.h jika Anda tidak tahu di mana itu:
Dan kemudian jalankan perintah ini untuk mengkompilasi kode Anda:
sumber
omp.h
.*.h
itu file header, mengapa dia ingin menambahkannya ke path-nya? mereka harus di/usr/include
misalnya.