Использование пространств имен C ++ в цели C - PullRequest
3 голосов
/ 02 июня 2011

Я работаю над проектом, для которого требуется сторонняя библиотека, реализованная на C ++. Я успешно добавил библиотеку в свой проект xcode, но проблема в том, что классы в библиотеке содержат пространства имен, и когда я пытаюсь получить доступ к методам через пространства имен, XCode генерирует ошибку: «использует undeclared». «utils» - это пространство имен, которое я пытаюсь использовать.

У меня вопрос, есть ли способ использовать пространства имен C ++ в ObjectiveC?

Код, который я использую для вызова метода: Utils :: метод ();

Я попытался переименовать мой файл ObjectiveC ".m" в файл ".mm", но проблема остается той же.

1 Ответ

3 голосов
/ 30 июня 2011

Мы используем библиотеки C ++ в Objective-C, и у нас нет проблем с использованием пространств имен C ++.Как указал Мустафа, вам нужно изменить расширение файла Objective C на .mm , чтобы XCode распознал файл как Objective-C ++.Тогда вам просто нужно #include (не #import) заголовки C ++, содержащие объявления пространства имен C ++ - это то же самое, что вы обычно делаете для «обычного» C ++.

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