在Sierra提供的macOS 10.13中,Apple提供的默認LLVM最終是否可用?它已經在主LLVM中使用了一年多了。High Sierra LLVM是否提供OpenMP?
(另一種方式來問這個問題可能是什麼版本的LLVM的是新的蘋果LLVM基礎上)
在Sierra提供的macOS 10.13中,Apple提供的默認LLVM最終是否可用?它已經在主LLVM中使用了一年多了。High Sierra LLVM是否提供OpenMP?
(另一種方式來問這個問題可能是什麼版本的LLVM的是新的蘋果LLVM基礎上)
標準Apple的clang支持OpenMP。他們只是禁用了驅動程序選項。但是你可以使用前端選項,而不是這樣:clang -Xclang -fopenmp <you_program> -I <path to omp.h> -L <path to libomp.dylib> -lomp
此外,您還需要設置DYLD_LIBRARY_PATH環境變量:export DYLD_LIBRARY_PATH=<path to libomp.dylib>
如何獲得/建立libomp。
$ cd
$ svn co http://llvm.org/svn/llvm-project/openmp/trunk libomp
$ cd libomp
$ mkdir build && cd build
$ cmake -DCMAKE_INSTALL_PREFIX=~/libomp/openmp
$ make && make install
此目錄~/libomp/openmp
之後將有2個子目錄:include
和lib
,這應該被用作路徑omp.h
和路徑libomp.dylib
相應。
不,事實並非如此。 Apple LLVM大致基於4.0,但OpenMP模塊被忽略。您甚至可以在幫助中看到剩餘的OpenMP選項來設置卸載目標,但它不支持OpenMP。
$ clang++ --help | grep openmp
-fopenmp-targets=<value>
蘋果,加入OpenMP將是科學研究人員的巨大福音!將不得不繼續使用brew中的llvm
。
兩件事情將極大地幫助這個答案:鏈接到其他線程,並提及(或鏈接)的方式應該得到libomp.a。我試圖做你以前的建議,但缺少其中一個步驟(或者使用了不正確的libomp)。編輯:鏈接在這裏:https://stackoverflow.com/questions/47081991/is-c-compilable-with-openmp-and-boost-on-macos/47225639#47225639 –
如何獲得/建立libomp添加 –
或投票如果答案完全相同,則以重複的方式關閉。它通常皺眉 - 在多個問題上發佈相同的答案(不是線程,StackOverflow上沒有線程)。 –