我正在尝试构建一个[开源项目|具有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