Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 不支持MSVC工具链。请使用GNU工具链_Rust_Clion - Fatal编程技术网

Rust 不支持MSVC工具链。请使用GNU工具链

Rust 不支持MSVC工具链。请使用GNU工具链,rust,clion,Rust,Clion,当我试图调试锈菌时,我收到了上面提到的消息 我更新了工具链设置以使用建议的默认设置: 如何解决这个问题并使CLion能够调试生锈代码 我做了一些搜索,但没有找到一个简单的答案(至少有一个我很容易理解) 任何帮助都将不胜感激。错误消息与Rust toolchain有关,如果您没有安装,则需要安装基于GNU的Rust toolchain(安装之前,请确保您为您的环境选择了有效的基于GNU的toolchain,如果您不确定,请阅读注释部分) 然后在解决这个问题的最简单方法之后,将其设置为默认工具链

当我试图调试锈菌时,我收到了上面提到的消息

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

如何解决这个问题并使CLion能够调试生锈代码

我做了一些搜索,但没有找到一个简单的答案(至少有一个我很容易理解)


任何帮助都将不胜感激。

错误消息与Rust toolchain有关,如果您没有安装,则需要安装基于GNU的Rust toolchain(安装之前,请确保您为您的环境选择了有效的基于GNU的toolchain,如果您不确定,请阅读注释部分)

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

> rustup default stable-x86_64-pc-windows-gnu
注意:工具链选择stable-x86_64-pc-windows作为示例;它是通过稳定通道为64位Windows提供的解决方案,需要为不同的体系结构使用另一个工具链(详细信息:请遵循来自的官方jetbrains指南),此外,您还可以免费使用夜间或beta版。

值得一提的是,Jetbarins现在有一篇关于如何为Rust配置Clion的文章,并提供了一些适用于Rust开发的设置提示

本段特别涉及以下问题:

在Windows上,转到设置|生成、执行、部署|工具链 并将两者都设置为您的工作环境。然后,跑
生锈工具链列表
并检查第一行:它应该是 匹配调试器位的gnu版本。例如,如果 您正在使用MinGW(32位),默认的工具链应该是 i686 pc windows gnu。如果你在MinGW64上,应该是 x86_64-pc-windows-gnu。您可以通过以下方式设置适当的工具链: 正在运行
rustup default


现在还不清楚你到底在问什么。请编辑您的问题以明确说明您想要回答的问题。尝试调试时,我现在得到:
com.jetbrains.cidr.execution.debugger.backend.gdb.GDBDriver$GDBCommandException:“C:/Users/Jonathan/CLionProjects/rust_proj/target/debug/rust_proj-587b28fba9c3bb8c.exe”:非可执行格式:无法识别文件格式
。有什么帮助吗?回复:
不是可执行格式:文件格式不可识别
错误,一年后我收到了。我还没有弄明白,但是GitHub上的psotos似乎通过确保他的rust库和调试器具有相同的比特数(在他的例子中是x64)解决了他的问题。我自己更正了设置,但仍遇到相同的错误。我发现了错误。虽然我正确地设置了Rustop工具链,但我错误地设置了mingw环境。配置mingw时,不仅要确保选择正确的环境文件夹,还要确保从底部的下拉列表中选择正确的调试器。如果你只是克隆你的mingw并且只在顶部选择正确的文件夹,调试器就不会改变比特数。。。因此,我有一个奇怪的症状,即32位rustup对mingw32和64都有效,并且无法理解为什么64对这两者都无效,尽管编译是x64。
> rustup default stable-x86_64-pc-windows-gnu