У меня есть проблема, с которой я боролся некоторое время.
У меня есть библиотека Какао, которая действует как оболочка для библиотеки C ++. Библиотека C ++ тестируется с использованием набора модульных тестов BOOST. Тесты работают нормально в режимах отладки и выпуска.
Для проверки оболочки Какао я использую otest. Вот странная часть: тесты работают нормально в режиме отладки, но не работают в режиме выпуска. Чтобы убедиться, что это не что-то в коде, я взял содержимое тестов и скомпилировал их как отдельное приложение Cocoa, которое использует код-обертку. Обычно он работает как при выпуске, так и при отладке.
Когда otest не проходит, я получаю трассировку стека, которая не имеет смысла и заканчивается dyld_misaligned_stack_error.
Еще одна странная вещь, которую я заметил, это то, что при запуске otest из командной строки, а не из XCode, если я указываю DYLD_LIBRARY_PATH и DYLD_FRAMEWORK_PATH на версию Debug библиотеки C ++, тесты проходят. Однако я подтвердил, что весь мой тестовый код компилируется с флагами выпуска.
Любая помощь будет принята с благодарностью!
Спасибо