如何在OSX Sierra v10.13.4上正确安装Bochs?编译报错求助
解决macOS下编译Bochs的Carbon依赖与头文件缺失问题
你这是踩了macOS编译旧版Bochs的两个典型坑:早已被移除的Carbon框架依赖,以及系统头文件路径不匹配导致的types.h找不到问题。我给你一步步拆解解决方案:
1. 彻底抛弃Carbon相关配置
macOS从10.15 Catalina开始就完全移除了Carbon框架,不管是旧的.conf.macos脚本还是默认配置里的Carbon前端,必然会触发编译错误。你需要直接禁用Carbon,改用当前macOS支持的SDL2前端。
2. 先安装必要依赖
用Homebrew安装SDL2(如果还没装Homebrew,先把它装上):
brew install sdl2
3. 执行正确的configure命令
别再用旧的.conf.macos了,直接用./configure指定SDL2前端、禁用Carbon,同时可以明确安装路径:
./configure --enable-sdl2 --disable-carbon --prefix=/usr/local
--enable-sdl2:启用SDL2图形前端,这是目前macOS支持的标准选项--disable-carbon:强制关闭所有Carbon相关代码,彻底消除carbon.cc的编译错误--prefix:指定Bochs的安装路径,显式设置比默认路径更清晰
4. 解决types.h缺失问题
如果配置后还是出现types.h找不到的错误,说明编译器没正确识别系统头文件路径。可以在configure时加上CPPFLAGS指定SDK路径:
CPPFLAGS="-I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include" ./configure --enable-sdl2 --disable-carbon --prefix=/usr/local
这个路径是macOS Command Line Tools的系统SDK头文件位置,能确保编译器找到types.h这类基础系统头文件。
5. 编译与安装
配置完成后正常编译(编译阶段不需要sudo,安装时再用):
make sudo make install
额外省心方案:直接用Homebrew安装
如果你不是必须自己编译Bochs,直接用Homebrew安装最省事:
brew install bochs
这个版本已经适配了最新macOS系统,完全不会有Carbon或头文件的兼容问题。
另外你提到的2.6.8版本确实太老旧了,就算手动修复也可能冒出其他兼容性问题,建议优先用官方仓库的最新版本或者Homebrew提供的版本。
内容的提问来源于stack exchange,提问作者thelostmachine
相关产品推荐
相关产品推荐

