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

Ubuntu编译Pjproject2.6出错求助:提取Opus RTP转WAV受阻

解决Pjproject 2.6编译时x87寄存器禁用的错误

你在编译Pjproject 2.6用于提取Opus RTP数据包并转换为WAV格式的过程中,碰到了libyuv编译阶段的浮点寄存器冲突问题——这个错误在GCC 7.x版本里挺常见的,给你几个靠谱的解决办法:

方法1:直接修改libyuv的编译参数

报错根源来自libyuv的编译环节,我们可以直接给它添加浮点支持的编译flag:

  1. 打开路径pjproject-2.6/third_party/build/yuv/Makefile
  2. 在编译选项(CFLAGS/CXXFLAGS)里加上-mfpmath=387,强制启用x87浮点寄存器支持
  3. 保存文件后,回到pjproject根目录重新执行make dep && make

方法2:禁用视频模块(适合音频场景)

既然你的需求是处理音频(Opus RTP转WAV),完全不需要视频相关的libyuv依赖,直接在configure阶段关掉视频功能就行:

cd pjproject2.6/
./configure --disable-video
make dep && make

这个方法最省事,还能减少编译时间。

方法3:调整系统编译环境

如果上面的方法都不行,试试调整全局编译参数或者升级GCC:

  • 先设置环境变量强制启用x87浮点:
    export CFLAGS="-mfpmath=387"
    export CXXFLAGS="-mfpmath=387"
    ./configure
    make dep && make
    
  • 或者把GCC升级到8及以上版本,新版本对浮点寄存器的处理更友好,能避免这个问题。

等编译成功后,你就可以用Pjproject里的音频工具来完成Opus RTP数据包提取和WAV格式转换的需求了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:28:29