gpt4 book ai didi

rust - 无法释放文件。收到错误 : could not compile 'libc'

转载 作者:行者123 更新时间:2023-11-29 08:30:51 26 4
gpt4 key购买 nike

我对这个语言和编码领域很陌生。编码领域的初学者也是如此。 我尝试构建和发布文件,但出现错误 Compiling libc v0.2.62

error: Could not compile `libc`
pi@raspberrypi:~/Ganesh_Rust/Real_time/led_blink/src $ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.09s
Running `/home/pi/Ganesh_Rust/Real_time/led_blink/target/debug/led_blink`
pi@raspberrypi:~/Ganesh_Rust/Real_time/led_blink/src $ cargo build --release
Compiling libc v0.2.62
error: Could not compile `libc`.

Caused by:
process didn't exit successfully: `rustc --crate-name build_script_build /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.62/build.rs --color always --crate-type bin --emit=dep-info,link -C opt-level=3 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=b79e3ef31fa8c249 -C extra-filename=-b79e3ef31fa8c249 --out-dir /home/pi/Ganesh_Rust/Real_time/led_blink/target/release/build/libc-b79e3ef31fa8c249 -L dependency=/home/pi/Ganesh_Rust/Real_time/led_blink/target/release/deps --cap-lints allow` (signal: 11, SIGSEGV: invalid memory reference)

代码:这个程序是我用 VS 代码编写的,用于使树莓派 3 上的 LED 闪烁

use rust_gpiozero::*;
use std::thread;
use std::time::Duration;

fn main() {
//create a new LEd attached to pin 17 of raspberry pi
let led = LED::new(17);

//blink the led 5 times
for _ in 0.. 5{
led.on();
thread::sleep(Duration::from_secs(10));
led.off();
thread::sleep(Duration::from_secs(10));
}
}

cargo.toml 文件:

[package]
name = "led_blink"
version = "0.1.0"
authors = ["pi"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rust_gpiozero = "0.2.0"

我正在 Raspberry pi 上获取输出,但可执行文件和二进制文件很大 (5MB)。所以我想如果我真的发布也许我可以减少大小所以尝试使用 cargo build --release 命令发布但是得到这个错误。

最佳答案

如果您使用的是 rustup 提供的二进制文件,那么这是一个 known issue upstream .该问题有一个解决方法,即在 Cargo.toml 中设置以下内容:

[profile.release]
codegen-units = 1

作为替代方案,您可以使用 Debian rustccargo 包来代替 rustup,它应该可以正常工作。您可以从 https://packages.debian.org/rustc 下载软件包。和 https://packages.debian.org/cargo ,或者您可以将适当的 APT 行添加到 /etc/sources.list(有关示例,请参见 https://deb.debian.org/)。请注意,Debian 并不总是有最新版本,但它们应该可以使用。

关于rust - 无法释放文件。收到错误 : could not compile 'libc' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58318039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com