c – Cmake不尊重-D CMAKE_CXX_COMPILER = g

前端之家收集整理的这篇文章主要介绍了c – Cmake不尊重-D CMAKE_CXX_COMPILER = g前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图强制cmake用g构建我的cpp代码,默认情况下它使用clang.所以我使用:cmake -D CMAKE_CXX_COMPILER = g ../src/CMakeLists.txt之后,cmake检查 gcc和g(成功),但是仍然使VERBOSE = 1产生
/usr/bin/c++     -o CMakeFiles/trial_cpp.dir/trial.cpp.o -c "/Users/Kuba/Code/Sketchpad/Trial     project/src/trial.cpp"
Linking CXX executable trial_cpp
/opt/etlocal/bin/cmake -E cmake_link_script CMakeFiles/trial_cpp.dir/link.txt --verbose=1
/usr/bin/c++    -Wl,-search_paths_first -Wl,-headerpad_max_install_names   CMakeFiles/trial_cpp.dir/trial.cpp.o  -o trial_cpp

因为它调用/usr/bin/c不/usr/bin/g我同意它仍然使用cl.任何想法有什么问题?我知道我有g,它在/usr/bin /.
我正在运行Mac OS X 10.8.2

解决方法

CMAKE_CXX_COMPILER只能在首次在给定的构建目录中运行cmake时进行设置.在后续运行中,它被忽略.为了更改CMAKE_CXX_COMPILER,您首先需要删除构建目录的内容,然后再次使用该选项运行cmake.

资料来源:http://www.cmake.org/Wiki/CMake_Useful_Variables

我相信在第一次运行时仅使用该变量的原因是因为稍后更改可能会使已经构建的所有内容(包括配置检查)无效,所以cmake必须从头开始.

猜你在找的C&C++相关文章