2016-02-16 3 views
1

Я поддерживаю часть устаревшего программного обеспечения, написанного на C++, который использует QuickDraw при компиляции на Mac. Я знаю, что Apple делает все возможное, чтобы убить эту вещь. Через несколько месяцев я надеюсь, что у меня будет время, чтобы дать моей программе более современные основы, возможно, SDL, но тем временем мне нужно, чтобы выжить.Quickdraw on life support

На MacOS 10.7 и XCode 4 я смог получить доступ к быстрой дро, создав для MacOS 10.5 SDK. Перейдя на Mac OS 10.9 и XCode 6, все еще используя MacOS X.5 SDK, я обнаружил, что он больше не может найти заголовочный файл QuickDraw. Мне нужно вернуться к 10.7.5, чтобы получить работу над этой программой. Уч.

Действительно ли это так плохо? Неужели Apple удалось полностью остановить QuickDraw, даже если вы используете старый SDK? Или есть какой-то способ возиться с включенными путями и библиотечными путями, чтобы продолжать эту работу?

+0

Любые причины для портирования на SDL и наличие двух внешних субъектов, которым вам нужно доверять, плюс необходимость выполнять ручную работу для поддержки вашего проекта, а не только с использованием CoreGraphics и придерживаться одного внешнего актера, который отправляет вам обновления программного обеспечения? – Tommy

+0

Использование SDL даст мне совместимость с Mac (что я пытаюсь сохранить) и переносимость Linux (что было бы очень приятно). И упростите мой доступ к Windows, который уже работал. CoreGraphics? Я думал, вам нужно использовать Objective-C для использования всех этих новых интерфейсов Apple. Если у вас есть какой-нибудь полезный указатель для меня о том, как использовать его из C/C++, мне было бы очень интересно узнать его. – Joymaker

+0

Core Graphics является чистым C и предоставляет те же операции рисования, что и PDF - в основном пути Bezier, поглаженные и заполненные плюс CoreText (также C API) для текста. Apple не использует Objective-C для низкоуровневого материала, я всегда предполагал, что для избежания стоимости динамической отправки и из-за того, что Microsoft, Adobes и т. Д. Имеют огромные базы кода C/C++, которые они хотят подключить, и это нормально попросить их использовать язык, ориентированный на платформу, для вещей поверх ядра, вероятно, не так много. Но похоже, что у вас есть веская причина, чтобы пойти в SDL, так что это ни здесь, ни там. – Tommy

ответ

1

Да, это так плохо. QuickDraw не добрался до 64-битной земли и 10.8 удалил поддержку dev. Вы можете попробовать захватить заголовки из старого SDK или использовать что-то вроде this workaround, но успех не гарантируется.