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&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...