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