【问题标题】:MSVC toolchain is not supported. Please use GNU toolchain不支持 MSVC 工具链。请使用 GNU 工具链
【发布时间】:2021-01-29 19:38:50
【问题描述】:

当我遇到上述问题时,我正试图在 CLion 中调试 Rust

我更新了我的工具链设置以使用建议的默认值:

如何解决此问题并让 CLion 能够调试 Rust 代码?

我进行了一些搜索,但没有找到一个简单的答案(至少我可以轻松理解)。

任何帮助将不胜感激。

【问题讨论】:

  • 不清楚你到底在问什么。请编辑您的问题,明确说明您想回答的问题。

标签: rust clion


【解决方案1】:

错误消息与 Rust 工具链有关,如果您还没有,则需要为 Rust 安装基于 GNU 的工具链(在安装之前,请确保为您的环境选择有效的基于 gnu 的工具链,如果您是不确定请阅读注意部分)。

> rustup toolchain install stable-x86_64-pc-windows-gnu

然后在解决此问题的最简单方法后将其设置为默认工具链

> rustup default stable-x86_64-pc-windows-gnu

注意:以工具链stable-x86_64-pc-windows为例;它是通过稳定通道为 64 位 Windows 提供的解决方案,不同的架构需要使用另一个工具链(详情:请遵循来自 other answer 的官方 jetbrains 指南) ,您也可以免费使用 nightly 或 beta。

【讨论】:

  • 在尝试调试时,我现在得到:com.jetbrains.cidr.execution.debugger.backend.gdb.GDBDriver$GDBCommandException: "C:/Users/Jonathan/CLionProjects/rust_proj/target/debug/rust_proj-587b28fba9c3bb8c.exe": not in executable format: File format not recognized。有什么帮助吗?
  • 回复:not in executable format: File format not recognized 错误,我现在在您发布一年后得到它。我还没有弄清楚,但似乎 GitHub here 上的 psotos 通过确保他的 rust 库和调试器具有相同的位数(在他的情况下为 x64)解决了他的问题。我为自己更正了设置,但仍然遇到同样的错误。
  • 我发现了我的错误。虽然我正确设置了 rustup 工具链,但我错误地设置了我的 mingw 环境。配置 mingw 时,不仅要确保选择正确的环境文件夹,还要从底部的下拉列表中选择正确的调试器。如果你只是克隆你的 mingw 并且只在顶部选择正确的文件夹,调试器不会改变位数......结果我有一个奇怪的症状,即 32 位 rustup 对 mingw 32 和 64 都有效并且不能弄清楚为什么 64 对两者都不起作用,尽管编译是 x64。
【解决方案2】:

除了Ömer Erden's answer,值得指出的是,Jetbarins 现在有一篇关于如何为 Rust 配置 Clion 的文章,其中包含一些关于哪些设置适用于 Rust 开发的提示。

Debugging Rust Code in CLion

这一段尤其与问题有关:

在 Windows 上,转到设置 |构建、执行、部署 |工具链 并将Cygwin or MinGW 设置为您的工作环境。然后,运行 rustup toolchain list 并检查第一行:它应该是 与调试器位数匹配的 gnu 版本。例如,如果 您正在使用 MinGW(32 位),默认工具链应该是 i686-pc-windows-gnu。如果你在 MinGW64 上,它应该是 x86_64-pc-windows-gnu。您可以通过以下方式设置适当的工具链 运行rustup default <toolchain_name>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 2015-07-01
    相关资源
    最近更新 更多