You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS运行gstreamer crate报错:use of undeclared crate or module 'gst'

解决macOS上Rust gstreamer crate的use of undeclared crate or module gst错误

第一步:修正代码笔误

你的代码里存在拼写错误,get::init()应改为gst::init(),修正后代码如下:

use gst::prelude::*;

fn main() {
    gst::init().unwrap();
}

第二步:配置GStreamer库路径(关键)

你通过二进制安装包将GStreamer部署在/Library/Frameworks/GStreamer.framework,Cargo默认无法识别该路径,需手动指定:

临时生效方案(单次编译)

在终端执行编译命令前,先设置环境变量:

export PKG_CONFIG_PATH="/Library/Frameworks/GStreamer.framework/Versions/Current/lib/pkgconfig"
export DYLD_FALLBACK_LIBRARY_PATH="/Library/Frameworks/GStreamer.framework/Versions/Current/lib"

随后运行cargo build或cargo run即可。

永久生效方案

将上述环境变量添加到你的shell配置文件(如~/.zshrc或~/.bashrc):

echo 'export PKG_CONFIG_PATH="/Library/Frameworks/GStreamer.framework/Versions/Current/lib/pkgconfig"' >> ~/.zshrc
echo 'export DYLD_FALLBACK_LIBRARY_PATH="/Library/Frameworks/GStreamer.framework/Versions/Current/lib"' >> ~/.zshrc
source ~/.zshrc

用build.rs配置(推荐)

在项目根目录创建build.rs文件,内容如下:

fn main() {
    println!("cargo:rustc-link-search=native=/Library/Frameworks/GStreamer.framework/Versions/Current/lib");
    println!("cargo:rustc-link-lib=gstreamer-1.0");
}

Cargo编译时会自动读取该文件,链接指定路径的GStreamer库。

额外检查

确认GStreamer二进制安装包版本与Rust crate版本匹配:gstreamer = "0.20.2"对应GStreamer 1.20及以上版本,版本不匹配也会引发编译错误。

内容的提问来源于stack exchange,提问作者royB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:23:10