Как отладить этот сбой stdc++ на OSX 10.5

У меня есть .dylib, который я создал для интеграции в качестве родной библиотеки Adobe AIR. Код отлично работает на osx 10.6, 10.7 и 10.8, но я получил сообщения о сбое на 10.5. Кажется, я не могу найти инструкции (которые действительно работают) о том, как заставить виртуальную машину 10.5 работать под Mountain Lion, чтобы я мог ее диагностировать. Кто-нибудь уже сталкивался с подобным сбоем?

Process:         AudioStretch [247]
Path:            /Applications/Speedshifter.app/Contents/Resources/assets/native/audioStretcher/AudioStretch
Identifier:      AudioStretch
Version:         ??? (???)
Code Type:       X86 (Native)
Parent Process:  Speedshifter [240]

Interval Since Last Report:          771 sec
Crashes Since Last Report:           4
Per-App Interval Since Last Report:  0 sec
Per-App Crashes Since Last Report:   4

Date/Time:       2012-08-15 15:56:24.047 +0100
OS Version:      Mac OS X 10.5.8 (9L31a)
Report Version:  6
Anonymous UUID:  19E6C7D0-BED3-47EF-BD79-4C93716A6EEA

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread:  0

Dyld Error Message:
  Symbol not found: __ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i
  Referenced from: /Applications/Speedshifter.app/Contents/Resources/assets/native/audioStretcher/AudioStretch
  Expected in: /usr/lib/libstdc++.6.dylib

person Andrew Westberg - BCSH    schedule 18.08.2012    source источник
comment
Ну, похоже, что-то внутри класса ostream не существует в версии 10.5. Запуск c++filt для имени символа даст более удобочитаемую версию, но я сомневаюсь, что это сильно поможет... РЕДАКТИРОВАТЬ: вы на самом деле говорите X-Code, что ваша минимальная версия MacOS 10.5? Если нет, то, возможно, просто добавление этого поможет. А может и нет :-)   -  person Christian Stieber    schedule 18.08.2012


Ответы (1)


Надеюсь это поможет:

> c++filt __ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i
std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)

Переформатирование для удобства чтения:

std::ostream& std::__ostream_insert(std::ostream&, char const*, int)

В основном это говорит о том, что эта функция недоступна в стандартной среде выполнения в 10.5.

Возможно, вам придется предоставить альтернативную версию dll для 10.5. Вы пробовали статическую компоновку со стандартными библиотеками?

person Martin York    schedule 18.08.2012