You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

编译FFmpeg时触发ld信号11错误求助(WSL环境)

解决WSL下编译FFmpeg时链接器Segmentation Fault的问题

你在Win10 v1709的WSL里编译FFmpeg时碰到的链接器(ld)崩溃问题,在旧版WSL1里属于比较典型的兼容性问题,尤其是内存管理和链接阶段的资源占用冲突。给你几个针对性的解决思路:

  • 升级到WSL2:Win10 v1709搭载的是WSL1,它对Linux系统调用的模拟存在不少局限性,链接大项目时容易因为内存管理问题触发段错误。你可以先把Windows系统升级到1903及以上版本,然后启用虚拟机平台功能,再将Ubuntu子系统切换为WSL2模式,这能从根本上改善编译环境的稳定性。

  • 降低编译的资源压力:链接阶段崩溃很多时候是内存不足导致的,你可以尝试这些调整:

    • 使用单线程编译链接:make -j1,避免多线程同时占用大量内存
    • 关闭调试信息生成:在configure时添加--disable-debug参数,减少可执行文件的调试符号,降低内存消耗
    • 精简编译组件:关闭不需要的编码器、解码器或功能模块,比如用--disable-all后再按需启用需要的功能,缩小编译范围
  • 更新链接器并重新检查依赖

    • 先更新binutils包(包含ld):sudo apt update && sudo apt install --only-upgrade binutils,修复旧版链接器的已知bug
    • 重新编译所有依赖库(比如x264、fdk-aac等),确保它们的编译参数和FFmpeg兼容,且没有损坏的编译产物

这里给你一个简化的configure示例,你可以试试:

./configure --prefix=/usr/local --disable-debug --disable-doc --disable-static --enable-shared --enable-gpl --enable-libx264
make -j1
sudo make install

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

火山引擎 最新活动