1

I'm maintaining a piece of legacy software, written in C++, that uses QuickDraw when compiled on the Mac. I know Apple is doing their best to kill this thing. In a few months I hope to have time to give my program more modern underpinnings, probably SDL, but meanwhile I need it to survive.

On MacOS 10.7 and XCode 4, I was able to still get access to quick draw by building for the MacOS 10.5 SDK. Moving to Mac OS 10.9 and XCode 6, still using the MacOS X .5 SDK, I find that it can no longer find the QuickDraw header file. I'm having to boot back to 10.7.5 to get work done on this program. Ouch.

Is this really how bad it is? Has Apple managed to completely stomp QuickDraw, even when one is using an old SDK? Or is there some way to fiddle with include paths and library paths to keep on making this work?

Joymaker
  • 813
  • 1
  • 9
  • 23
  • Any reason for porting to SDL and having two external actors you need to trust plus having to perform manual work to maintain your project, versus just using CoreGraphics and sticking with the one external actor that ships the software updates for you? – Tommy Feb 16 '16 at 19:33
  • Using SDL will give me Mac compatibility (which I'm trying to preserve) and Linux portability (which would be really nice). And simplify my access to Windows, which was already working anyway. CoreGraphics? I thought you needed to be using Objective-C to use all those new Apple interfaces. If you have any useful pointer for me on how to use it from C/C++, I'd be very interested to know it. – Joymaker Feb 18 '16 at 23:02
  • Core Graphics is pure C, and provides the same drawing operations as PDF — primarily Bezier paths, stroked and filled plus CoreText (also a C API) for text. Apple doesn't use Objective-C for the low-level stuff, I've always assumed both to avoid the cost of dynamic dispatch and because the Microsofts, Adobes, etc have huge C/C++ code bases they want to port and it's fine to ask them to use a platform-specific language for stuff on top of the core, probably not so much underneath. But it sounds like you've got a pretty good reason to go SDL so it's neither here nor there. – Tommy Feb 19 '16 at 01:47

1 Answers1

1

Yes, it is that bad. QuickDraw has not made it to 64bit-land, and 10.8 removed dev support. You can try grabbing the headers from an old SDK, or use something like this workaround, but success is not guaranteed.

dognotdog
  • 681
  • 3
  • 14