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

Yocto dunfell分支下Mednafen配方autotools do_compile编译失败求解

错误根因

你遇到的编译错误是Mednafen源码自带的intl(GNU gettext兼容层)目录下的配置变量@INTL_LIBTOOL_SUFFIX_PREFIX@未被正确替换导致的,本质是你的BitBake配方未正确配置gettext相关参数,和Yocto Dunfell分支的autotools配置逻辑不匹配。

配方修改步骤

  • 补充gettext构建依赖,调整编译配置禁用内置intl层编译,优先使用Yocto提供的系统gettext库,或者直接关闭国际化支持跳过intl目录编译,修改后的完整配方如下:
SUMMARY = "Mednafen is a portable, utilizing OpenGL and SDL, argument(command-line)-driven multi-system emulator."
HOMEPAGE = "https://mednafen.github.io/"
SRC_URI = "https://mednafen.github.io/releases/files/${PN}-${PV}.tar.xz"
SRC_URI[md5sum] = "7be60dd12edf8d61537f5598957e2884"

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

# 新增gettext-native构建依赖
DEPENDS += "gettext-native zlib libsndfile1 libsdl2"

LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"

S = "${WORKDIR}/${PN}"

# 新增编译配置,禁用rpath和内置intl编译
EXTRA_OECONF += " \
    --disable-nls \
    --disable-rpath \
"

inherit autotools-brokensep gettext
  • 如果需要保留国际化支持,把上面的EXTRA_OECONF替换为:
EXTRA_OECONF += " \
    --enable-nls \
    --with-libintl-prefix=${STAGING_DIR_HOST}${prefix} \
    --disable-rpath \
"
  • 如果修改后仍然报错,可以新增配置前清理步骤,清除源码残留的配置缓存:
do_configure_prepend() {
    rm -f ${S}/config.status ${S}/config.cache ${S}/intl/Makefile
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:57:03