Можно ли вызвать класс Objective-C из программы на C ++? - PullRequest
1 голос
/ 29 апреля 2011

У меня есть проект с открытым исходным кодом C ++.Теперь моя цель - расширить этот проект дополнительным кодом.Этот код является кодом Objective-C (потому что я не знаю C ++).Я уже нашел способ вызова функции Objective-C из класса C ++ ( Вызов метода Objective-C из метода C ++? ) Но, когда я пытаюсь скомпилировать свой код C ++ с помощью XCode, XCode зависает (нет ошибок на этапе строительства).У меня вопрос, возможно ли вообще вызвать класс Objective-C из проекта, написанного только на C ++.

Кто-нибудь имел опыт с этим?

Ответы [ 2 ]

1 голос
/ 30 апреля 2011

вы, безусловно, можете объединить два языка.

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

лично я не смог использовать Xc4 так же эффективно, как Xc3 в больших проектах.я провожу слишком много времени в ожидании, чтобы он стал отзывчивым.я загрузил большие (мета) проекты в Xc4 и позволил ему анализировать и создавать несколько ГБ «производных данных» в течение нескольких часов (буквально) на 8-и основном бездействующем компьютере, чтобы закончить процесс на несколько часов.опять же, это зависит от размера проектов и их зависимостей.маловероятно, что ваши проекты настолько сложны.

компромисс в том, что Xc4 добавляет некоторые важные функции (например, превосходный анализ, компиляция во время редактирования).иногда полезно запустить Xc3 и минимизировать функциональные возможности (например, индексирование смысла кода) до тех пор, пока он не будет собран для вас.

компиляция не должна вызывать зависание (но дать ему некоторое время для восстановления)... Xcode может быть перегружен ошибками, если вы не указали правильные языки или вы смешали языки - без правильных флагов компилятора.

если он действительно большой, Xcode может тратить много времени на разбор исходных текстов., создавая производные данные.

, если они сохраняются, вероятно, стоит дать дополнительную информацию.

0 голосов
/ 29 апреля 2011

Замораживание Xcode - это определенно ошибка, она должна скомпилироваться или выдать ошибку.Попробуйте переключиться на другой компилятор в настройках вашего проекта.

Пока код с ++ компилируется в режиме target-c ++, он должен работать.AFAIK он будет компилироваться только в режиме target-c ++, если расширение файла равно .mm или если вы явно укажете компилятору.Переключатель командной строки для gcc и clang: -ObjC ++

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...