【问题标题】:CMAKE_CXX_COMPILER not set in qtcreatorCMAKE_CXX_COMPILER 未在 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 生成器以前不起作用。
  • 如果您的问题得到解决,请关闭问题。如果解决方案对其他人有帮助,请回答自己并接受答案。

标签: cmake qt-creator


【解决方案1】:

我的主要问题是通过安装忍者解决的。我认为问题在于 qtcreator 调用的 cmake 找不到编译器:

CMAKE_CXX_COMPILER 未设置

安装ninja并重新启动qtcreator后,问题就消失了。

【讨论】:

    【解决方案2】:

    我在升级 Visual Studio 2017 后遇到了同样的问题。

    由于某种原因,当在 Build & Run 的 cmake 配置中添加 (?) CMAKE_CXX_COMPILER 到 Visual Studio 编译器的位置时,它应该可以工作:

    • 密钥:CMAKE_CXX_COMPILER
    • 值: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 消失了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多