首页 > 解决方案 > 尝试为 Mac 编译开源程序,但无法让 Cocoa 文件请求器和菜单正常工作

问题描述

我正在尝试为 Mac OS High Sierra ( https://www.6809.org.uk/xroar/ ) 编译 XRoar。我制作了一个运行并接受命令行参数的二进制文件,但是一旦程序运行,我就没有菜单,也没有加载/保存文件交互

XRoar 0.32 的已编译二进制文件可用,但在 Mac OS High Sierra 上似乎存在故障(声音、图形和速度)。我正在尝试编译 0.35 版本,而我创建的有限版本在故障方面似乎很好。我试过直接从命令行调用两个版本的 XRoar,你可以看到它们引入了稍微不同的模块:

预编译 XRoar 0.32:
模块初始化:Mac OS X SDL UI
模块初始化:Cocoa 文件请求器
模块初始化:SDL OpenGL 视频
模块初始化:Mac OS X 音频

“我的”编译 XRoar 0.35:
模块初始化:SDL2 UI
模块初始化:无文件请求者
模块初始化:SDL2 视频
模块初始化:Mac OS X 音频

XRoar 是通过这三个步骤编译的:

 $ ./configure
 $ make
 $ sudo make install

我不知道如何“告诉”它使用 Mac OS X SDL UI、Cocoa 文件请求器等。我猜想在配置后有一些参数,但我不知道语法是什么。

我还想知道这是否会有所帮助: https : //www.libsdl.org/download-2.0.php 我已将 SDL2.framework 复制到/Library/Frameworks但似乎没有帮助。

我想知道编译 XRoar 0.32 的人做了什么给它漂亮的菜单、文件访问等。

我意识到我在为 Mac OS 编译的学习曲线上很早

标签: xcodemacoscocoa

解决方案


所以我在其他地方回答了这个问题,但要点是:我没有足够现代的 Mac,所以无法通过对其他部分的更改来保持 Mac 特定的代码是最新的。此外,之后我将其他平台迁移到 SDL2,但 SDL1.2 构建仍然有效。最好的办法是使用 SDL1.2(如果您都安装了“--without-sdl2”,则使用“--without-sdl2”运行配置),尝试构建,然后开始破解......


推荐阅读