在构建thumbv7m-none-eabi时如何避免“E0463:找不到‘test’的板条箱找不到板条箱”?

问题描述 投票:0回答:3

在处理具有 ARM 目标的项目时,RLS 给出以下错误消息:

E0463:找不到

test
找不到板条箱

复制:

cargo new --bin app
cd app
mkdir .cargo
echo '[build]' > .cargo/config
echo 'target = "thumbv7m-none-eabi"' >> .cargo/config
echo '#![no_std]' > src/main.rs
rls --cli

我相信这是因为没有针对 ARM 目标的测试箱。

有办法避免这个错误吗?

E0463 上还有其他几个 SO 帖子,但似乎这些都是配置错误。以上纯粹是RLS问题。这导致我的编辑器显示错误并且代码不完整等。

rust arm embedded rust-language-server
3个回答
2
投票

如果您包括:

{
  "rust-analyzer.cargo.target": "<your target architecture>",
  "rust-analyzer.check.allTargets": false,
}

并且您仍然在 vscode 上遇到“找不到 crate for 'test'”错误,请查看您是否安装了由 panicbit 提供的 Cargo 扩展 (https://marketplace.visualstudio.com/items?itemName=panicbit.cargo )。它还在保存时使用货物检查,而不考虑目标架构。


0
投票

github 问题中找到了这个:

在文件中

.vscode/settings.json

{
    "rust-analyzer.check.allTargets": false,
    "rust-analyzer.check.extraArgs": [
        "--target",
        "<your target architecture>"
    ]
}

<your target architecture>
替换为正确的目标。


0
投票

对于 Helix 来说是

# .helix/languages.toml
[[language]]
name = "rust"

[language-server.rust-analyzer.config.check]
allTargets = false
© www.soinside.com 2019 - 2024. All rights reserved.