2012-08-24 24 views
1

我想在Suse linux中執行一個簡單的OPENMP程序,當我編譯命令「gcc -openmp example.c -O example」時,它給出錯誤「omp.h header not found「。如何包含這個頭文件,以便我可以執行此操作。在SUSE linux中找不到omp.h頭文件

回答

3

when I compile it with commmand "gcc -openmp example.c -O example"

你的錯誤是,使OpenMP的在GCC處理標誌-fopenmp,而不是-openmp。通過-fopenmp,到omp.h的路徑被自動添加到包含路徑列表中。

至於實際的omp.h文件的位置 - 它通常與庫文件夾中的其他支持文件一起放置。在基於RedHat的發行版中,它在/usr/lib/gcc/<arch>-redhat-linux/<version>/include/omp.h中,其中<arch>是架構(例如x86_64)並且<version>是GCC版本(例如4.4.4)。其他發行版可能會選擇不同的地方。

還有一件事 - 指定輸出可執行文件的選項是-o(小寫字母O)。 -O(大寫字母O)對已編譯的代碼進行了一些基本的優化。

+0

甚至沒有工作。它提供了一個錯誤「無法識別的commad行選項」-fopenmp「 – Voila

+0

@ Deepesh.Shetty,你可以在這裏粘貼命令行,以及輸入'gcc -v'? –

+0

」ivml2005:〜/ openmp#gcc hello.c -openmp hello.c:12:17:error:omp.h:沒有這樣的文件或目錄「 – Voila