2012-01-16 5 views
4

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

уронить библиотеки в проект Xcode 4, и он строит отлично, но как только я нахожу ошибку «Лексическая или препроцессорная ошибка», более конкретно «файл строки» не найден в строке 4 основного файла заголовка.

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

Я пробовал перечисленные решения here, но никто не работал.

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

+0

Вы используете '#include 'string.h" или '#include '? Есть разница. –

+0

библиотека использует '#include ' – Eric

+0

Не должно ли это '#include '? Я никогда не слышал о том, чтобы просто включить файл с именем «string» в C++ –

ответ

12

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

Поэтому переименование AppDelegate.m в AppDelegate.mm решило проблему.

0

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

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

+1

Я не знаком с разработкой xCode и OSX/iOS, но этот оператор - * # include является шаблоном класса C++ * - определенно неверен. –

+0

Стандартная библиотека шаблонов C++ (STL) содержит класс строк, который используется в нескольких классах компьютерных наук. Проверьте это: http://www.bgsu.edu/departments/compsci/docs/string.html http://www.cplusplus.com/reference/string/string/string/ http: // www. cplusplus.com/reference/string/string/ – Saif

+0

Спасибо, но ни одна из ваших ссылок не показывает объяснение. Эта страница имеет его в самом конце: http://www.cplusplus.com/doc/tutorial/templates/ –

Смежные вопросы