включая заголовки C / C ++ в Xcode 4 - PullRequest
4 голосов
/ 16 января 2012

Я без проблем использую библиотеку C ++ в проектах, созданных с помощью Xcode 3, но теперь у меня возникают проблемы со сборкой проектов, созданных с помощью Xcode 4.

Перетащите библиотеку в проект Xcode 4 ион работает нормально, но как только я #include, я получаю ошибку «Проблема с лексикой или препроцессором», точнее, «строковый» файл не найден, в строке 4 его основного заголовочного файла.

При ближайшем рассмотрении ошибка указывает, что 'string' file not found in ~/my project's directory/include/mainheader.h

Я пробовал решения, перечисленные здесь , но ни один не работал.

Таким образом, он считает, что заголовочный файл находится вкаталог моего проекта, но это, очевидно, заголовок C / C ++ ... Как я могу сказать Xcode искать эти заголовки C / C ++?

Ответы [ 2 ]

12 голосов
/ 18 января 2012

Проблемный #include был на вершине моего ViewController.mm, который я уже превратил в Objective-C ++, дав ему .mm в качестве его расширения. Но ViewController.mm в конечном итоге импортируется AppDelegate.m, который по умолчанию является Objective-C - и я забыл сделать его Objective-C ++, отсюда и проблема.

Таким образом, переименование AppDelegate.m в AppDelegate.mm решило проблему.

0 голосов
/ 16 января 2012

Я думаю, что #include - это шаблон класса c ++. Так что вам нужно использовать пространство имен std в заголовочном файле, а также переименовать исходный файл в формате .m в формат .mm.

это работает для меня:) попробуй это ...

...