【问题标题】:Installing allegro 4 on os x 10.9.4?在 os x 10.9.4 上安装 allegro 4?
【发布时间】:2015-04-29 01:50:49
【问题描述】:

我正在尝试在 os x 10.9.4 上使用 allegro 4.4.2。每当我尝试在终端中运行 make 命令来编译 allegro 时,都会出现这两个错误。

/Users/*********/Downloads/allegro/include/allegro/platform/aintosx.h:85:25: 错误:找不到“NSQuickDrawView”的接口声明,>“AllegroView”的超类@interface AllegroView:NSQuickDrawView

~~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/*********/Downloads/allegro/include/allegro/platform/aintosx.h:176:8: 错误:未知类型名称 'CGDirectPaletteRef' AL_VAR(CGDirectPaletteRef, >osx_palette);

^

【问题讨论】:

    标签: c++ osx-mavericks allegro


    【解决方案1】:

    NSQuickDrawView 允许您在 Cocoa-native NSView 中使用 Carbon QuickDraw 函数——即从 1984 年继承而来的函数。

    此视图在 64 位目标上从未可用,因为 Carbon 在 64 位目标上从未可用。

    除其他外,10.9.4 仅支持 64 位目标。因此它不提供NSQuickDrawView。 Allegro 4.4.2 等过时的库无法在 10.9.4 上构建。

    【讨论】:

    • 是否有办法解决这个问题(例如无需构建就安装它,或者在没有那个派系的情况下构建它)?
    • 我认为 Allegro 使用NSQuickDrawView 来输出它的所有图形——即使做出了这个决定,但它确实存在——所以它肯定不会在没有它的情况下构建。如果您更改架构,看起来 Xcode 仍然可以构建 32 位应用程序,所以我想如果您能找到该框架的副本,那么您可能能够继续前进。
    【解决方案2】:

    您永远不会使用 OS X 10.9 SDK 编译 Allegro,因为 CGDirectPaletteRef 已从 10.9 的标头中删除,而 NSQuickDrawView 从未获得 64 位支持。你最好的镜头是:

    1. 从Apple's Download Page 下载 Xcode 3.1(我们只需要包含的 OS X 10.4 SDK);
    2. 打开DMG,在“Packages”中安装“MacOSX10.4.Universal.pkg”;
    3. 如果使用 Xcode,请创建此符号链接:sudo ln -s /SDKs/MacOSX10.4u.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
    4. 更改您的项目构建设置:
      • 部署目标:OS X 10.4(仅在符号链接和重新启动后出现 - 如果 Xcode 已打开)
      • 架构:仅限 32 位
      • 基础 SDK:OS X 10.4

    现在,Allegro 应该可以编译了。如果你正在使用 CMake(并且你不能使用 -G Xcode),你在运行 cmake 时需要这个:

    -DCMAKE_OSX_ARCHITECTURES:STRING=i386
    -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.4
    -DCMAKE_OSX_SYSROOT:STRING=/SDKs/MacOSX10.4u.sdk
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 2014-11-07
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 2013-12-21
      相关资源
      最近更新 更多