Ubuntu 18.04下使用Cerbero构建GStreamer失败求助
解决Cerbero编译GStreamer时GLib的64位类型错误
先别急,这个问题大概率是编译器配置或者系统架构相关的问题,我给你几个靠谱的排查和解决步骤:
检查系统架构与默认编译器
首先确认你的Ubuntu 18.04是64位系统,在终端运行:uname -m如果输出是
x86_64,说明是64位系统;如果是i386之类的32位标识,那GLib编译时确实会触发这个错误,建议换成64位系统或者调整Cerbero的32位编译配置。然后确保GCC是当前默认的C编译器,运行:
gcc --version如果默认不是GCC,先设置环境变量指定编译器:
export CC=gcc CXX=g++设置完成后再重新执行Cerbero的相关命令。
指定64位架构运行Cerbero
你可以在执行Cerbero命令时直接指定64位架构,避免自动检测出错:./cerbero-uninstalled --arch x86_64 bootstrap ./cerbero-uninstalled --arch x86_64 package gstreamer-1.0或者编辑Cerbero的配置文件永久设置架构:
- 先复制默认配置模板到用户目录:
cp cerbero/config/cerbero.cbc.sample ~/.cerbero/cerbero.cbc - 打开
~/.cerbero/cerbero.cbc,找到arch字段,修改为:arch = x86_64
- 先复制默认配置模板到用户目录:
安装完整的编译依赖
Ubuntu 18.04可能缺少一些基础编译依赖,导致GLib的配置检测失败,运行以下命令安装依赖:sudo apt update && sudo apt install build-essential gcc-multilib g++-multilib libc6-dev-i386 libglib2.0-dev清理Cerbero缓存后重试
之前的编译缓存可能残留了错误配置,先清理缓存再重新操作:./cerbero-uninstalled clean ./cerbero-uninstalled clean -a # 清理所有架构的缓存文件清理完成后重新执行bootstrap和package命令。
Cerbero相关帮助指引
如果需要更多Cerbero的使用帮助,直接在终端运行以下命令即可:
- 查看所有可用命令:
./cerbero-uninstalled --help - 查看特定命令的详细说明,比如bootstrap命令:
./cerbero-uninstalled help bootstrap
内容的提问来源于stack exchange,提问作者Timothy Prime
相关产品推荐
相关产品推荐

