2010-09-05 2 views
1

Я пытаюсь скопировать какой-то пример кода в свой собственный проект. Пример проекта - iPhoneExtAudioFileConvertTest из sdk. Пример проекта содержит файл ExtAudioFileConvert.cpp. Этот файл содержит то, что выглядит как код Objective-C:Синтаксис Objective C внутри файла .cpp?

assert([NSThread isMainThread]); 

Пример проекта работает отлично, но компилятор жалуется на код выше, когда я строю свой собственный проект: ошибка: ожидается первичной экспрессией до «[» токен

Что здесь происходит? Очевидно, что есть некоторый способ использования объектного синтаксиса c скобки в файле .cpp. Что мне нужно сделать, чтобы он работал?

+0

Почему бы не сделать файл .mm? Вместо .cpp –

+0

Я просто изменил расширение .cpp-файла на .mm, и все компилируется просто отлично. Я предполагаю, что где-то есть проект, который позволит мне поставить объективный c внутри .cpp-файла. – morgancodes

+0

@thyrgle, Yup, это сработало. Интересно, почему примерный проект был скомпилирован, а у меня не было. – morgancodes

ответ

5

Измените расширение файла на .mm для Objective-C++ вместо простого .cpp для C++.

+0

Спасибо, тигр, но мой вопрос действительно, как это сделать с расширением .cpp. – morgancodes

+0

@morgancodes: Не уверен, что это возможно. И если это так .. Я не понимаю, почему это имеет значение. –

+0

Я пытаюсь импортировать код преобразования звука в iPhoneExtAudioFileConvertTest в sdk в свой собственный проект. Этот проект имеет .cpp-файл с sytax, который я показал выше внутри, так что это определенно возможно. Что касается того, почему это имеет значение, я просто стараюсь как можно меньше меняться, потому что QUIT много, что я не понимаю в примере кода. Просто пытаясь изящно переместить его в одном куске, если это возможно. – morgancodes

0

параметры сборки, принятые по умолчанию iPhoneExtAudioFileConvertTest является Objective-C++.
Если вы изменили настройки на Согласно типу файла, вы получите то же сообщение об ошибке.

Итак, измените расширение файла на .mm или измените настройки сборки вашего проекта.

CompileSourceAS Objective-C++

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