我正在嘗試構建一個[開源項目|具有OpenMP支持的https://github.com/openMVG/openMVG]。但是,我在Mac上這樣做,因此我沒有本機OpenMP支持。如何在OS-X上使用OpenMP依賴項編譯cmake基礎項目?
在那裏有很多OpenMP Clang項目(http://openmp.llvm.org/和https://clang-omp.github.io/)。
我的問題是,如何配置我的系統,以便開源項目幾乎不需要任何修改來編譯OpenMP支持?
我正在嘗試構建一個[開源項目|具有OpenMP支持的https://github.com/openMVG/openMVG]。但是,我在Mac上這樣做,因此我沒有本機OpenMP支持。如何在OS-X上使用OpenMP依賴項編譯cmake基礎項目?
在那裏有很多OpenMP Clang項目(http://openmp.llvm.org/和https://clang-omp.github.io/)。
我的問題是,如何配置我的系統,以便開源項目幾乎不需要任何修改來編譯OpenMP支持?
通常cmake會自動發現要使用的編譯器,然後根據項目設置的要求檢查它 - 例如,檢查openmp支持 - 然後編寫一個Makefile。您可以通過在調用cmake
之前指定變量CC
和CXX
或通過傳遞標誌-DCMAKE_C_COMPILER
和-DCMAKE_CXX_COMPILER
來告訴它要使用哪種編譯器。該項目無需進行任何更改即可完成此項工作。
通常你可以使用自制軟件來獲得一個支持openmp的編譯器:clang-omp或者gcc(真實的,不是蘋果的)。然後你會配置項目來指定你的編譯器。在這種情況下,鏗鏘omp將無法正常工作,因爲構建腳本假設你將連接到libgomp
,所以去用gcc-5:
git clone openMVG
cd openMVG
git submodule update --init
mkdir build_dir && cd build_dir
CC=gcc-5 CXX=g++-5 cmake ../src