
我喜欢编程语言,甚至也正在写一本包含几乎“所有语言”的书。大道至简,给所有人看的编程书。
但我还没有学习Rust,Rust的语法让人看起来真是头痛。
由于项目需要,我最终还是要编译一个Rust项目。
Rust 使用 Cargo 编译工具。不管我怎么设置代理,修改 .cargo/config.toml ,总是无法在编译期从Github上下载一个压缩包。
祭出Debug大法,发现问题就是卡在这里。
if !webrtc_dir.exists() {
webrtc_sys_build::download_webrtc().unwrap();
}是的,我在编译 livekit rust-sdks。 把 livekit 源代码 Clone 到本地,修改我的项目中 cargo.toml 中的依赖项,使用相对路径。
[dependencies]
#livekit
= "0.5.1"
livekit = { path = "../rust-sdks/livekit", features = [
"rustls-tls-native-roots",
] }学了点Rust,我把出问题的地方改成了这样。
if !webrtc_dir.exists() {
panic!("cargo:expect wertc_dir={}", webrtc_dir.display());
webrtc_sys_build::download_webrtc().unwrap();
}如果走到这里,直接退出编译,并打印一个类似这样的路径:
/usr/src/mod/livecherrykit/target/debug/build/scratch-7aa63bc24e550e39/out/livekit_webrtc/livekit/linux-arm64-release-webrtc-dac8015-3/linux-arm64-release手工从 https://github.com/livekit/rust-sdks/releases 下载对应的 .zip 包,解压到这个路径。
编译通过。
本文分享自 FreeSWITCH中文社区 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!