2010-12-12 2 views
0

У меня проблемы с включением базовых заголовков, таких как cmath. Он наиболее распространен при использовании примерных проектов. Пример:Ввод заголовка включает в себя отказ в XCode, cmath, objc-class.h и т. Д.

#include <cmath> 

, например, получает файл не найден, несмотря на то, что я могу проверить, что SDK Я использую это есть:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/c++/4.2.1/tr1/cmath 

я могу иногда обойти эту проблему путем импорта непосредственно к файлу, но это не всегда работает.

#include </usr/include/c++/4.2.1/cmath> 
+0

Все указывает на замену тега C++, C – pmg

ответ

2

Что такое расширение файла исходного кода? .m или .mm? Если это .m, компилятор предположит, что у вас есть обычный объектный файл C, тогда как .mm будет означать объектно-C++-файл. Если это не файл .mm, возможно, компилятор не ищет C++.

+0

Это последнее появление в файле .hpp. Раньше у меня были эти проблемы, и я думаю, что что-то не настроено прямо в моей конфигурации сборки, за исключением того факта, что это происходит с протертой установкой XCode и чистым проектом. – akaru

+0

... хотя, когда я переименовал класс, который включал вышеуказанный класс .hpp для расширения .mm, он сработал! Я не понимал, что директивы компилятора будут меняться с изменением расширения. Благодаря! – akaru

+0

В качестве продолжения: Это прекрасно работает с файлом Objective-C++ .mm. Тем не менее, я использую интерфейс Builder, и он не хочет хорошо играть с моим контроллером представления, являющимся файлом .mm. Я получаю компиляционные сегментированные ошибки. Какие-нибудь советы для такого использования? Я не использую IB, но пользовательский интерфейс достаточно сложный, чтобы извлечь выгоду из него. – akaru

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

  • Нет связанных вопросов^_^