我试图在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);
^
答案 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位支持。你最好的镜头是:
sudo ln -s /SDKs/MacOSX10.4u.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
现在,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