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

如何在macOS 11(Apple Silicon M1)设备上创建并运行GTK+4应用

问题核心原因

报错的核心是编译器当前默认生成x86_64架构的二进制文件,但你通过ARM版Homebrew安装的GTK4及依赖库均为arm64架构,架构不匹配导致链接失败。


解决方案

  • 第一步:确认终端运行在原生ARM架构下
    打开终端执行 uname -m,如果输出为 x86_64,说明终端开启了Rosetta转译:右键访达中的「终端.app」,点击「显示简介」,取消勾选「使用Rosetta打开」,重启终端后重新执行命令,确认输出为 arm64即可。
  • 第二步:配置Homebrew的环境变量
    M1芯片Mac的Homebrew默认安装路径为/opt/homebrew,需要将其二进制路径和pkgconfig路径加入环境变量。
    如果你用zsh作为默认shell,执行以下命令:
    echo 'export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"' >> ~/.zshrc
    echo 'export PKG_CONFIG_PATH="/opt/homebrew/lib/pkgconfig"' >> ~/.zshrc
    source ~/.zshrc
    
    如果你用bash作为默认shell,把上面的~/.zshrc替换为~/.bash_profile即可。
  • 第三步:编译时指定arm64架构
    给编译命令加上-arch arm64参数指定目标架构,修改后的编译命令为:
    gcc -arch arm64 main.c -o main `pkg-config --cflags --libs gtk4` && ./main
    
    如果你的源文件是cpp后缀,把gcc换成g++即可。

如果仍出现架构冲突,可以检查是否同时安装了x86版本的Homebrew(路径为/usr/local/Homebrew),临时移除PATH中/usr/local/bin相关的配置项,避免pkg-config调用到x86版本的库配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:51:00