运行cmake+make时,如何指定调用哪个编译器?

问题描述 投票:-1回答:1

我试图在OSX上用cmake和make编译一个c++项目,但看起来make在使用CXX或clang,而我想使用g++(gcc),所以我可以按照这里的答案告诉编译器在哪里找到项目中使用的tbb的头文件(#includes)。Need help getting intel TBB working?

brew list显示我安装了最新版本的cmake、make、gcc和swig。

下面是我试图编译的项目,供参考。https:/github.comnmoehrlemvs-texturingblobmasterREADME.md.

c++ gcc makefile cmake g++
1个回答
0
投票

我看到了这个相关的答案,并且能够让项目正常运行! MacOS、CMake和OpenMP

我用以下命令更新了 cmakelists.txt,将 llvm 设置为编译器。注意,我需要更新llvm文件路径,以匹配我安装的版本号。

set(CMAKE_C_COMPILER "/usr/local/Cellar/llvm/5.0.1/bin/clang")
set(CMAKE_CXX_COMPILER "/usr/local/Cellar/llvm/5.0.1/bin/clang++")
set(OPENMP_LIBRARIES "/usr/local/Cellar/llvm/5.0.1/lib")
set(OPENMP_INCLUDES "/usr/local/Cellar/llvm/5.0.1/include")

然后我在使用OpenMP时也遇到了问题,所以我添加了这部分来配置OpenMP的include目录和link目录。

if (OPENMP_FOUND)
    include_directories("${OPENMP_INCLUDES}")
    link_directories("${OPENMP_LIBRARIES}")
    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif(OPENMP_FOUND)

我是一个新手开发,希望我有更多的见解,为什么这个工作,但它解决了我的问题!

© www.soinside.com 2019 - 2024. All rights reserved.