Я поддерживаю часть устаревшего программного обеспечения, написанного на 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? Или есть какой-то способ возиться с включенными путями и библиотечными путями, чтобы продолжать эту работу?
Любые причины для портирования на SDL и наличие двух внешних субъектов, которым вам нужно доверять, плюс необходимость выполнять ручную работу для поддержки вашего проекта, а не только с использованием CoreGraphics и придерживаться одного внешнего актера, который отправляет вам обновления программного обеспечения? – Tommy
Использование SDL даст мне совместимость с Mac (что я пытаюсь сохранить) и переносимость Linux (что было бы очень приятно). И упростите мой доступ к Windows, который уже работал. CoreGraphics? Я думал, вам нужно использовать Objective-C для использования всех этих новых интерфейсов Apple. Если у вас есть какой-нибудь полезный указатель для меня о том, как использовать его из C/C++, мне было бы очень интересно узнать его. – Joymaker
Core Graphics является чистым C и предоставляет те же операции рисования, что и PDF - в основном пути Bezier, поглаженные и заполненные плюс CoreText (также C API) для текста. Apple не использует Objective-C для низкоуровневого материала, я всегда предполагал, что для избежания стоимости динамической отправки и из-за того, что Microsoft, Adobes и т. Д. Имеют огромные базы кода C/C++, которые они хотят подключить, и это нормально попросить их использовать язык, ориентированный на платформу, для вещей поверх ядра, вероятно, не так много. Но похоже, что у вас есть веская причина, чтобы пойти в SDL, так что это ни здесь, ни там. – Tommy