微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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必须从头开始.

原文地址:https://www.jb51.cc/c/113685.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐