autoreleasepool не был объявлен в этой области ошибки
Мой проект в XCode 4.2. Этот проект компилируется для обычной отладочной сборки.
Но когда я изменяю тип сборки на профиль (я хочу профилировать использование памяти), я получаю сообщение об ошибке из класса targe t-C++ C++:
/Volumes/mchinen/scm/Voicer/FilterAudioMixer.mm:53: ошибка: случайное '@' в программе /Volumes/mchinen/scm/Voicer/FilterAudioMixer.mm: в функции-члене 'void FilterAudioMixer::WriteToBuffer(SInt16*,)': /Volumes/mchinen/scm/Voicer/FilterAudioMixer.mm:53: ошибка: 'autoreleasepool'не был объявлен в этой области /Volumes/mchinen/scm/Voicer/FilterAudioMixer.mm:53: ошибка: ожидается
;' before '{' token /Volumes/mchinen/scm/Voicer/FilterAudioMixer.mm:147: error: expected
}'в конце ввода
строка @autoreleasepool ниже - это строка 53:
void FilterAudioMixer::WriteToBuffer(SInt16* buffer, int nb_samps)
{
@autoreleasepool {
//do a per element lock (todo)
pthread_mutex_lock(&playlist_lock);
FilterSound *snd;
size_t count = playlist.size();
for (size_t i = 0; i < count; i++) {
snd = playlist[i];
[snd writeToBuffer:buffer samples:nb_samps];
}
pthread_mutex_unlock(&playlist_lock);
if (m_mute) {
memset(buffer, 0, sizeof(SInt16) * 2 * nb_samps);
}
}
}
Похоже, что @autoreleasepool доставляет мне проблемы только в профиле, почему?
Для полноты, вот строка компиляции из окна результатов сборки:
CompileC /Users/mchinen/Library/Developer/Xcode/DerivedData/Voicer-aebonlzraugcbqarecvubzkhxlfr/Build/Intermediates/Voicer.build/Release-iphoneos/Voicer.build/Objects-normalF C++ com.apple.compilers.llvmgcc42 cd /Volumes/mchinen/scm/Voicer setenv LANG en_US.US-ASCII setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 -x targe t-C++ -arch armv7 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -Os -Wreturn-type -Wunused-variable -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -gdwarf-2 -fvisibility= скрытый -fvisibility-inlines-hidden -mthumb -miphoneos-version-min=4.0 -iquote /Users/mchinen/Library/Developer/Xcode/DerivedData/Voicer-aebonlzraugcbqarecvubzkhxlfr/Build/Intermediates/Voicer.build/Release-iphoneos/Voicer.build/Voicer-Генерируемые-файлы.hmap -I/ Пользователи / mchinen / Библиотека / Разработчик / Xcode / DerivedData / Voicer-aubzclqxlxflbr / Voicer-ajbz Intermediates / Voicer.build / Release-iphoneos / Voicer.build / Voicer-own-target-headers.hmap -I/ Пользователи / mchinen / Библиотека / Разработчик / Xcode / DerivedData / Voicer-aebonlzraugcbqarecvubzkhxlfr / Build / Intermediates / Voicer.bu Release-iphoneos / Voicer.build / Voicer-all-targe t-headers.hmap -iquote /Users/mchinen/Library/Developer/Xcode/DerivedData/Voicer-aebonlzraugcbqarecvubzkhxlfr/Build/Intermediates/Voicerhone.build/Voicer-project-headers.hmap -iquote. -iquotePictures -iquoteCocoaSoundCloudUI -iquoteCocoaSoundCloudAPI -iquoteOHAttributedLabel -iquoteOAuth2Client -iquoteVoicer.xcworkspace -iquoteClasses -iquotehelp -iquoteJSONKit -iquoteShaders -iquoteaudio -iquotePictures/extremeprogrammingpics -iquotePictures/2010 -iquotePictures/ Веб-камера -iquotePictures / 2011 -iquotePictures / гуй -iquoteCocoaSoundCloudUI/SoundCloud.bundle -iquoteCocoaSoundCloudUI/ Источники -iquoteCocoaSoundCloudAPI/ Источники "-iquoteOHAttributedLabel/AttributedLabel Пример" -iquoteOHAttributedLabel/OHAttributedLabel -iquoteOAuth2Client/ Источники -iquoteVoicer.xcworkspace/xcuserdata -iquoteJSONKit/JSONKit -iquoteaudio/CAExtras -iquotePictures/2010/06 -iquotePictures/2010/07 -iquotePictures/2010/08 -iquotePictures/2011/12 -iquotePictures/2011/10 -iquotePictures/2011/11 -iquotePictures/2011/09 -iquotePictures/2011/07 -iquotePictures/2011/08 -iquotePictures/gui/rec -iquotePictures/gui/buttonentity -iquoteCocoaSoundCloudUI/ Источники /CocoaAdditions -iquoteCocoaSoundCloudUI/ Источники /SoundCloudUI -iquoteCocoaSoundCloudAPI/ Источники /SoundCloudAPI "-iquoteOHAttributedLabel/AttributedLabel Пример / Классы" -iquoteOAuth2Client/ Источники /OAuth2Client -iquoteVoicer.xcworkspace/xcuserdata/mchinen.xcuserdatad -iquotePictures/2010/06/25 -iquotePictures/2010/07/22 -iquotePictures/2010/07/18 -iquotePictures/2010/08/25 -iquotePictures/2010/08/29 -iquotePictures/2010/08/07 -iquotePictures/2010/08/03 -iquotePictures/2011/12/16 -iquotePictures/2011/12/14 -iquotePictures/2011/12/17 -iquotePictures/2011/12/15 -iquotePictures/2011/10/26 -iquotePictures/2011/10/30 -iquotePictures/2011/10/21 -iquotePictures/2011/10/22 -iquotePictures/2011/10/13 -iquotePictures/2011/11/18 -iquotePictures/2011/11/19 -iquotePictures/2011/09/26 -iquotePictures/2011/09/25 -iquotePictures/2011/09/01 -iquotePictures/2011/09/21 -iquotePictures/2011/09/07 -iquotePictures/2011/09/13 -iquotePictures/2011/09/19 -iquotePictures/2011/07/17 -iquotePictures/2011/08/30 -iquotePictures/2011/08/23 -iquotePictures/2011/08/29 -iquoteVoicer.xcworkspace/xcuserdata/mchinen.xcuserdatad/xcdebugger -I/ Пользователи / mchinen / Библиотека / Разработчик /Xcode/DerivedData/Voicer-aebonlzraugcbqarecvubzkhxlfr/Build/Products/Release-i / Library / /Xcode/DerivedData/Voicer-aebonlzraugcbqarecvubzkhxlfr/Build/Intermediates/Voicer.build/Release-iphoneos/Voicer.build/DerivedSources/armv7 -I/Users/mchinen/Library/Developer/ aDa / Interdexdvd-VDVDVDZVEZVEZDERBERZERGEDERBERXERCES VERDERBERXERCERDERBERZDECB /Voicer.build/Release-iphoneos/Voicer.build/DerivedSources -F / Users / mchinen / Library / Developer / Xcode / DerivedData / рупором-aebonlzraugcbqarecvubzkhxlfr/Build/Products/Release-iphoneos -DNS_BLOCK_ASSERTIONS=1 -include /Users/mchinen/Library/Developer/Xcode/DerivedData/Voicer-aebonlzraugcbqarecvubzkhxlfr/Build/Intermediates/PrecompiledHeaders/Filter_Prefix-hbhtwvzcunnlquaijtkwxcnrmic/m/fx/xl_m_fx_Ru_Ru_MeM_F_M_F_S_C_W_c_t_e_v_cv_c_t_c_t_p_s_s_e_e_f_e_f_e_f_e_f_e_f_e_e_f_De_e_f_e_f_e_f_De_e_f_Pe / Xcode / DerivedData / рупор-aebonlzra ugcbqarecvubzkhxlfr / Build / полупродукты / Voicer.build / Release-iphoneos / Voicer.build / Объекты нормальный / ARMv7 / FilterAudioMixer.o
1 ответ
Важная часть этого журнала сборки:
НКУ-4,2
Что-то в настройках вашей сборки заставляет вас использовать старый компилятор GCC 4.2, который не поддерживает @autoreleasepool
, (Более подробное объяснение в этом ответе.)
В вашей схеме проверьте, какую конфигурацию сборки использует "Профиль". Затем проверьте параметры в вашем проекте и выберите целевую конфигурацию сборки.