Полное решение для записи приложения Mac OS X в C++

Я ищу альтернативы для своего текущего поля, и Mac OS X кажется очень привлекательным.

Моей основной сферой интересов является программирование на C++. В настоящее время я использую Eclipse + CDT и g ++ для создания моего программного обеспечения; иногда это - KDevelop.

Я знаю, что основным IDE для Mac является XCode, и основной язык является Objective C. Я хотел бы постараться не изучать Objective C если вообще возможный. Я также слышал/читал, что существуют некоторые проблемы в доступе к API Mac OS X от C++.

Следовательно мой вопрос: каково полное решение для приложений C++ разработки/отладки/тестирования что доступ все аспекты аппаратных средств (UI, звук, видео/ускорять видео, и т.д.) для Mac OS X?

Править: как XCode выдерживает сравнение с комбинацией Eclipse+CDT? Если это сравнение вообще возможно...

16
задан Robert S. 11 March 2009 в 14:36
поделиться

12 ответов

Если Вы хотите использовать C++ вместо Objective C и все еще хотеть избежать промежуточного слоя библиотек (таких как QT), можно использовать Углерод .

я использовал бы XCode вместо Eclipse просто, потому что Eclipse является путем медленнее при контакте с жестким программированием C/C++ (компиляция, отладка, тестируя).

, Когда я сначала начал программировать в Mac OS X, я был на той же странице, которая Вы теперь. Я думал, что было лучше придерживаться языка, который я знал (C++), и пользуйтесь более старой библиотекой (Углерод). По некоторым причинам я не помню теперь, я вынудил меня в Какао (Objective C). Оглядывание назад, я думаю, что это была хорошая вещь потому что:

  1. Objective C не существенно отличается от C++
  2. , Какао лучше, быстрее и более просто, чем Углерод
  3. , iPhone Dev является исключительно Какао (Углерод не поддерживается)
16
ответ дан 30 November 2019 в 15:41
поделиться

Если Вы действительно хотите использовать C++ на Mac OS X, используйте что-то как SDL / wxWidgets / Qt.

существует опция объединяющегося Objective C с C++, названным Objective C ++ . Вы могли использовать его для всего своего образцового материала и просто использовать Objective C для материала, который не возможен без платформы Основы.

Как последняя опция, Углерод приходит на ум. Это - собственная платформа, которая использовалась в pre-OSX времена, но работает на Mac OS X. Проблема, она не поддерживается для более новых технологий, и я думаю, что следующий выпуск OS X, Snow Leopard, не собирается поддерживать ее вообще.

Apple заявляет:

Углерод позволяет разработчикам C/C++ использовать в своих интересах функции Mac OS X, включая Кварц 2D графическая библиотека, эффективный механизм обработки событий и многопроцессорная поддержка. Кроме того, другие API C/C++ промышленного стандарта доступны Углеродным разработчикам, обеспечивая доступ к таким сервисам как система рисования OpenGL, микроядро Маха и службы операционной системы BSD.

не ожидают, что Углеродные приложения посмотрят 100%-й собственный компонент, и это намного более сложно для программирования, чем Какао.

Однако я рекомендую Objective C изучения , это не твердо и существует много мощных платформ как CoreData, CoreGraphics и т.п..

0
ответ дан 30 November 2019 в 15:41
поделиться

Для некоторых маленьких проектов хобби и приложения для iPhone я делаю, я использую соединение объективного C++ и 'реального' C++. XCode поддерживает смешивание обоих языков довольно хорошо. Я использую объективный C++ C/objective для пользовательского интерфейса и как тонкий слой между платформами OSX и моим собственным кодом. До сих пор это оказалось отличным способом работы.

0
ответ дан 30 November 2019 в 15:41
поделиться

Я был бы совет Вы, чтобы придерживаться с тем, какой бы ни IDE Вы являетесь самыми довольными. Лично, я ненавидел XCode в первый раз, когда я использовал его и отказался бросать Eclipse. После нескольких дней я разогрелся перед XCode, и не возражайте использовать его время от времени. Однако я все еще использую Eclipse, когда это возможно.

Просто помнят, что Вы не можете записать приложения Какао с помощью только C++, необходимо погрузиться в Obj-C для этого. Углеродные приложения не вполне смотрят или ведут себя как приложение Какао. Большинство людей не будет действительно возражать, но это - что-то для размышления о. Я вскочил в Obj-C от java/C# без любых проблем. Язык берет немного привыкающее к, но это не очень трудно.

0
ответ дан 30 November 2019 в 15:41
поделиться

Я не использовал его на OSX сам (я могу рекомендовать это в Windows), но Код:: IDE C++ Блоков реализован с помощью, и поддержки, межплатформенная библиотека wxWidgets GUI. Это поддерживается на OSX - см. эта страница .

0
ответ дан 30 November 2019 в 15:41
поделиться

Я согласовываю с Pablo Санта-Круз и хотел бы добавить, что это тривиально для смешивания Objective C с C++ в том же приложении (и том же исходном файле). Это упоминается как Objective C ++ и обсудило в этой статье .

компиляции XCode с GCC, таким образом, у Вас есть Objective C, C, и C++, готовый в Ваших кончиках пальцев.

1
ответ дан 30 November 2019 в 15:41
поделиться

Это не проблема с помощью gcc или g ++ от OS X. Установка XCode дает Вам эти компиляторы так или иначе, и если бы Вы действительно хотели, то Вы могли бы загрузить экземпляр X-сервера и получить работу KDE. Мне нравится редактор XCode самому все же. Eclipse также работает с OS X, таким образом, необходимо быть в состоянии использовать текущую среду.

я использовал поле OS X для кросс-компиляции C код от дуги PPC до дуги ARM прежде без проблем. Это просто, другой *отклоняет систему стиля, таким образом, все инструменты, с которыми Вы знакомы, будут уже существовать, и если они не делают, просто используйте штрейкбрехер или macports для получения их сами.

кроме того, если Вы действительно хотели использовать C++ для разработки приложений OS X GUI, Вы могли бы всегда использовать Углерод вместо Какао. Это - совершенно жизнеспособный выбор, незначительно удержанный от использования.

2
ответ дан 30 November 2019 в 15:41
поделиться

Я играл вокруг использования Objective C ++ для записи UI, помогая использовать C++ для записи бэкенда приложения. Это, кажется, работает вполне прилично на меня. Objective C & Objective C ++ довольно легко взять, и это позволяет мне продолжать использовать свое с трудом завоеванное знание C++.

5
ответ дан 30 November 2019 в 15:41
поделиться

Если Вы не смотрите на использование промежуточного слоя как QT, я думаю, что Вы в значительной степени застреваете с Objective C для взаимодействия через интерфейс с частями API как GUI, поскольку это - их родной язык.

Тем не менее было упомянуто, что можно легко смешать код Objective C и код C++, таким образом, можно все еще быть в состоянии записать большинству приложения в C++.

я - главным образом программист на C++, но я всегда балуюсь другими языками, и у меня была игра с XCode (да, у меня есть Mac). Мне понравился он, это несколько отличается, но как способ закрепить вместе GUI OS X это превосходно, и остальное между Вами и Вашим любимым редактором, если Вам не нравится XCode так очень.

5
ответ дан 30 November 2019 в 15:41
поделиться

Objective C не это трудно. Если Вы будете знать C++, то Вам потребуются день или три из прикладного усилия изучить конвенции.

API Какао и конвенции занимают больше времени, но прибывшие вовремя.

Удачи!

7
ответ дан 30 November 2019 в 15:41
поделиться

Вы должны не , стараются не изучать Objective C и Какао. Это должна на самом деле быть первая вещь, которую Вы делаете. Если у Вас не будет сплошного фона в Smalltalk, Вы вряд ли будете представлены большому (набор) платформа, которая также разработана.

10
ответ дан 30 November 2019 в 15:41
поделиться

Углерод на Mac OS X эффективно удерживается от использования - он не делает и не будет поддерживать приложения на 64 бита.

, Если Вы действительно действительно хотите использовать C++, используйте Создатель кварты

, Который теперь свободен, и trolltech SDK включает Qt 4.5, который, в то время как это - платформа C++, он внутренне использует Objective C для взаимодействия с Mac OS X, таким образом Вы не ограничены Углеродом.

оборотная сторона - то, что trolltech библиотеки не являются стандартными на Mac, необходимо предоставить им приложение.

2
ответ дан 30 November 2019 в 15:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: