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

运行gstreamer-rs教程时遇libgobject-2.0.0.dylib未加载错误求助

解决macOS下gstreamer-rs运行时找不到libgobject-2.0.0.dylib的问题

运行gstreamer-rs教程代码时触发错误:

dyld[62967]: Library not loaded:... @rpath/libgobject-2.0.0.dylib '/usr/lib/libgobject-2.0.0.dylib' (no such file, not in dyld cache)

已知libgobject-2.0.dylib实际位于/Library/Frameworks/GStreamer.framework/Versions/1.0/lib目录,项目配置和代码如下:

项目配置(Cargo.toml)

[package]
name = "gstreamerDemo"
version = "0.1.0"
edition = "2021"

[dependencies]
glib = { git = "https://github.com/gtk-rs/gtk-rs-core" }
gdk = { git = "https://github.com/gtk-rs/gtk3-rs", optional = true }
gtk = { git = "https://github.com/gtk-rs/gtk3-rs", optional = true }

gst = { version = "0.20.2", package = "gstreamer" }

[target.'cfg(target_os = "macos")'.dependencies]
cocoa = "0.24"
objc = "0.2.7"

最小化代码示例

#[path = "../common.rs"]
mod tutorials_common;

fn tutorial_main() {
    // Initialize GStreamer
    gst::init().unwrap();
    ...
}

解决方案

1. 临时设置环境变量

运行程序前,先指定动态库搜索路径:

export DYLD_LIBRARY_PATH=/Library/Frameworks/GStreamer.framework/Versions/1.0/lib:$DYLD_LIBRARY_PATH
export DYLD_FRAMEWORK_PATH=/Library/Frameworks/GStreamer.framework/Versions/1.0:$DYLD_FRAMEWORK_PATH
cargo run

2. 编译时指定rpath(永久生效)

在Cargo.toml中添加编译配置,让生成的可执行文件自带正确的库搜索路径:

[profile.dev]
rustflags = [
    "-C", "link-arg=-Wl,-rpath,/Library/Frameworks/GStreamer.framework/Versions/1.0/lib",
]

[profile.release]
rustflags = [
    "-C", "link-arg=-Wl,-rpath,/Library/Frameworks/GStreamer.framework/Versions/1.0/lib",
]

3. 统一依赖版本

当前配置中glib使用git最新版,而gstreamer是0.20.2版本,版本不匹配可能导致链接逻辑异常。将glib改为对应版本:

[dependencies]
glib = "0.20.0"  # 与gstreamer 0.20.2版本匹配
gst = { version = "0.20.2", package = "gstreamer" }
# 其他依赖保持不变

验证步骤

先确认库文件存在:

ls /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgobject-2.0.0.dylib

确认文件存在后再执行上述解决方案。

内容的提问来源于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 08:24:58