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

安装libpng报错:C编译器无法生成可执行文件

解决libpng编译时gcc段错误问题

核心问题分析

你手动编译libpng时指定了--prefix=/usr,这是针对本地系统的安装路径,但PokéFireRed是GBA平台的ROM修改项目,需要交叉编译适配ARM架构的库,而非本地x86/amd64系统库。同时devkitPro自带适配的包管理系统,优先使用它可避免手动编译的环境冲突。


解决步骤

1. 优先使用devkitPro包管理器安装libpng(推荐)

打开devkitPro专属的MSYS2终端,执行以下命令直接安装适配的libpng:

pacman -S devkitpro-pkgbuild-helpers libpng

devkitPro的软件源会自动提供适配ARM平台的库,无需手动编译。

2. 若必须手动编译,修正配置并检查环境

  • 加载devkitARM环境变量:确保终端使用的是devkitPro的交叉编译工具链,执行:
    source /opt/devkitpro/devkitARM/environment.sh
    
  • 验证工具链:确认当前gcc是devkitARM的交叉编译版本:
    which gcc
    # 应输出类似 /opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc
    gcc --version
    # 应显示arm-none-eabi-gcc版本信息
    
  • 重新配置编译:使用交叉编译的目标架构参数,指定devkitPro的portlibs路径作为安装前缀:
    tar xf libpng-1.6.37.tar.xz
    cd libpng-1.6.37
    ./configure --prefix=/opt/devkitpro/portlibs/armv5te --host=arm-none-eabi
    make check
    make install
    

3. 排查gcc段错误的其他可能

  • 更新环境:更新MSYS2和devkitPro包,修复版本兼容问题:
    # 更新MSYS2
    pacman -Syu
    # 更新devkitPro包
    pacman -Syu --dbpath /opt/devkitpro/pacman
    
  • 重新安装gcc工具链:如果工具链损坏,重新安装devkitARM:
    pacman -S devkitARM
    
  • 检查内存:cc1段错误可能由内存不足导致,关闭后台占用内存的程序后重试编译。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 06:10:56