上述代码之后的代码

上述代码之后的代码

我一直想在 Mac 上安装 Wine 来运行一些旧的 PC 游戏。我使用 Macports 安装了它,但它没有立即起作用。我按照 教程,然后在网上寻找解决方案,但没有任何效果。

当尝试运行我的 exe 时,发生了以下情况:

我进入了

wine ~/Desktop/Pokemon3D.exe

我得到:

Wine cannot find the ncurses library (libncurses.5.4.dylib).
Fontconfig error: Cannot load default config file

(还有一些,但我会在最后发布)

我不确定是什么出了问题,但我搞不清楚。任何建议都会很感激。请帮忙!

上述代码之后的代码

口袋妖怪:

未找到 libgluezilla。要获得 webbrowser 支持,您需要安装 libgluezilla fixme:wincodecs:PngDecoder_Block_GetCount 0x1688848,0x32f3f8: stub fixme:wincodecs:PngDecoder_Block_GetCount 0x1687f78,0x32f3f8: stub fixme:wincodecs:PngDecoder_Block_GetCount 0x1690318,0x32ecd8: stub fixme:wincodecs:PngDecoder_Block_GetCount 0x1690b38,0x32f328: stub System.NullReferenceException: 未将对象引用设置为对象实例 at System.Windows.Forms.WebBrowser.Navigate (System.Uri url) [0x00000] in :0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.WebBrowser:Navigate (System.Uri) 在 Pokémon3D.Form1.Form1_Load (System.Object sender, System.EventArgs e) [0x00000] 在 :0 在 System.Windows.Forms.Form.OnLoad (System.EventArgs e) [0x00000] 在 :0 在 System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00000] 在 :0

NeverHood 设置:

未处理的异常:对 32 位代码 (0x4239eea6) 中的 0x000d0000 进行写访问时发生页面错误。

...然后是寄存器和堆栈转储

Neverhood 设置95:

没有什么?!?

答案1

获取 ncurses 5.4 非常困难。

我找不到任何证据表明该版本可以通过 brew 获得,所以不得不求助于 MacPorts。我参考了他们的“安装旧端口”指示。

检查ncurses 端口文件,追溯其历史记录,直到找到所需的版本。
我在 GitHub 上手动搜索了历史记录。
更自动化的搜索可能看起来像git log -S'5.4' -- devel/ncurses/Portfile...虽然我自己在这方面没有任何运气。

我发现 5.4 住在提交 bcc8e4ecb7. 克隆macports git 存储库,并签出提交:

git clone --single-branch https://github.com/macports/macports-ports.git
cd macports-ports
git checkout 686ea4fa0fddeb03fdf2fc04dded68e05181bc95

现在进入 ncurses 文件夹并运行端口安装:

cd devel/ncurses
sudo port install

它尝试编译。遗憾的是,我只能做到这一步。编译器遇到错误 — 至少使用我在 macOS Sierra 上拥有的工具链和库时遇到错误。

安装这个已有 12 年历史的 ncurses 版本可能不再简单。


编辑:我们可以编译 Apple 的 ncurses 源代码,而不是使用 MacPorts 项目。请参阅本文

我们希望(从opensource.apple.com)的压缩包10.6.2ncurses-27。以下是ncurses-27.tar.gz压缩包

像这样构建:

make
mkdir -p /tmp/ncurses/Build
sudo make install

这应该libncurses.5.4.dylib在创建一个文件/private/tmp/ncurses/Release/usr/lib/libncurses.5.4.dylib

现在我们需要将它安装在某个地方。将它放在您喜欢的任何地方(我不知道,/usr/local/lib?)并确保它所在的文件夹libncurses.5.4.dylib包含在您的DYLD_FALLBACK_LIBRARY_PATH.

比如,你可以将其添加到你的.profile(或者更确切地说,任何在你运行 wine 进程时获取的文件):

export DYLD_FALLBACK_LIBRARY_PATH="$DYLD_FALLBACK_LIBRARY_PATH:/usr/local/lib"

相关内容