CMAKE_CXX_COMPILER 未在 qtcreator 中设置
Posted
技术标签:
【中文标题】CMAKE_CXX_COMPILER 未在 qtcreator 中设置【英文标题】:CMAKE_CXX_COMPILER not set in qtcreator 【发布时间】:2015-04-07 11:23:07 【问题描述】:有没有办法(如命令行参数或 CMakeLists.txt 中的某些函数)打印提供给 cmake 调用的所有命令行参数?等价于 bash "echo $@"
我需要这个来调试,为什么从 qtcreator 调用的 cmake 找不到我的编译器 (msvc12)。在检查 qtcreator 源之后,我看到它根据所选套件通过 cmake 参数附加了一些环境。我收到了类似
的消息CMAKE_CXX_COMPILER 未设置
,当我同时选择“Nmake Desktop Qt MSVC2013 ...”或“Ninja Qt MSVC2013”时。
当我从命令行调用 cmake 时,它会找到没有附加参数的编译器:
-- 检查工作 CXX 编译器使用:Visual Studio 12 2013 -- 检查工作的 CXX 编译器使用:Visual Studio 12 2013 -- 工作
【问题讨论】:
查看 CMakeFiles/CMakeError.log 和 CMakeFiles/CMakeOutpu.log,您可以在其中找到测试输出的详细信息。 CMakeFiles 文件夹未创建,仅缓存文件。然后我通过“choco install ninja”安装了ninja,在qtcreator重新启动后,ninja和nmake都可以工作。不知道为什么 Nmake 生成器以前不起作用。 如果您的问题得到解决,请关闭问题。如果解决方案对其他人有帮助,请回答自己并接受答案。 【参考方案1】:我的主要问题是通过安装忍者解决的。我认为问题在于 qtcreator 调用的 cmake 找不到编译器:
CMAKE_CXX_COMPILER 未设置
安装ninja并重新启动qtcreator后,问题就消失了。
【讨论】:
【参考方案2】:我在升级 Visual Studio 2017 后遇到了同样的问题。
由于某种原因,当在 Build & Run 的 cmake 配置中添加 (?) CMAKE_CXX_COMPILER
到 Visual Studio 编译器的位置时,它应该可以工作:
C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe
==> 将版本替换为正确的版本
不要忘记点击下方的“应用配置更改”。
不过很奇怪,因为在构建之后,cmake 运行变成了 CMake Project was parsed successfully.
并且信不信由你,CMAKE_CXX_COMPILER
消失了!
【讨论】:
以上是关于CMAKE_CXX_COMPILER 未在 qtcreator 中设置的主要内容,如果未能解决你的问题,请参考以下文章
C++学习(二六一)CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
Qt云服务/云计算平台QTC(Qt Cloud Services)入门
让QtCreator在调试时显示字符串 Qt调试助手 QtDebuggingHelper qtc-debugging-helper