在os x 10.9.4上安装allegro 4?

时间:2015-04-29 01:50:49

标签: c++ osx-mavericks allegro

我试图在os x 10.9.4上输入allegro 4.4.2。每当我尝试在终端中运行make命令来编译allegro时,我都会遇到这两个错误。

  

/用户/ ********* /下载/快板/包含/快板/平台/ 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);

     

^

2 个答案:

答案 0 :(得分:0)

NSQuickDrawView允许您在Cocoa原生NSView内使用Carbon QuickDraw函数 - 即从1984年继承的那些函数。

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

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

答案 1 :(得分:0)

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

  1. tutorial下载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
  5. 现在,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