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

Mac 14.2编译Wine预加载器失败,运行wine被杀死求助

解决MacOS 14.2编译Wine 9.2时预加载器失败与运行被kill的问题

1. 定位预加载器编译失败的核心原因

预加载器无法构建通常和MacOS Sonoma的安全机制限制、编译参数适配性或依赖缺失有关:

  • 检查SIP配置:Wine预加载器需要绕过部分系统限制,无需完全关闭SIP,只需重启到恢复模式(按住电源键直到出现启动选项,选择「选项」进入恢复模式),打开终端执行csrutil enable --without debug,重启系统即可。
  • 查看配置日志:重新执行../configure,重点关注终端输出中preloader相关的报错信息,比如是否存在链接器(ld64)参数错误、MinGW工具链版本不兼容等问题。

2. 调整编译参数修复预加载器问题

你当前的配置参数未适配MacOS环境,建议修改为以下命令:

../configure --enable-archs=i386,x86_64 \
CC="ccache clang" \
CROSSCC="ccache i686-w64-mingw32-gcc" \
--without-v4l2 --without-wayland --without-inotify --without-udev --without-oss --without-capi --without-sane --without-gssapi \
--with-macports --disable-win32-debug
  • 替换gcc为clang:MacOS自带的Clang对系统API兼容性更好,GCC容易导致预加载器链接失败。
  • 添加--with-macports:明确指定MacOS环境下的编译规则,避免适配错误。
  • 添加--disable-win32-debug:减少调试信息对预加载器生成的干扰。

3. 解决运行时zsh: killed问题

运行被拦截通常是系统安全机制限制或预加载器未正确生成:

  • 检查预加载器文件:编译完成后,确认build/loader目录下存在wine-preloader和wine64-preloader文件,若不存在则重新执行配置和编译步骤,确保无报错。
  • 修正文件权限:执行chmod +x ./wine ./wine64,优先尝试启动64位版本./wine64,避免32位兼容问题。
  • 验证安全机制:如果仍被kill,再次确认SIP的debug选项已禁用,或者临时关闭SIP(csrutil disable)测试,测试完成后重新启用。

4. 补全编译依赖

确保所有必要依赖通过Homebrew安装(避免混用MacPorts依赖):

brew install ccache mingw-w64 pkg-config freetype jpeg libpng libtiff gnutls sdl2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:58:30