Я вижу как минимум три проблемы.
APP_LDFLAGS := -latomic -stdlib=libc++ -lstdc++
Удалите всю эту строку.Первый флаг является избыточным (это автоматически с ndk-build), а вторые два неверны.
ndk-build вручную связывает стандартную библиотеку в правильном месте в команде link и использует -nostdlib++
для запретаповедение компилятора по умолчанию.Добавление -stdlib=libc++
нарушает это, поэтому теперь оно связывается дважды и в неправильном месте.
-lstdc++
связывает неправильную библиотеку.
c:\jenkins\ws\wwise_v2017.1\wwise\sdk\source\build\android\android-21_arm64-v8a\include\c++\4.9.x/iostream:74: undefined reference to `std::ios_base::Init::Init()'
Обратите особое внимание на путь и имяпространства имен std
здесь.include\c++\4.9.x
- это путь для заголовков gnustl, а std
- это имя пространства имен gnustl.libc ++ использует другой путь к заголовку, а пространство имен - std::__ndk1
(вторая часть - встроенное пространство имен, так что это деталь реализации, о которой вам не нужно беспокоиться при кодировании, но она ломается во время сборки, чтобы защитить вас именно от этих проблем).Ваша библиотека wwise была создана с помощью gnustl, и вы используете libc ++.Эти две библиотеки несовместимы и не могут использоваться в одном приложении.
Вам необходимо пересобрать wwise с libc ++, чтобы использовать его с libc ++.Если вы не можете это сделать, вам нужно вернуться к NDK r17 (последний выпуск, поддерживающий gnustl).Обратите внимание, что при этом вы также потеряете доступ к C ++ 14 и некоторым частям C ++ 11 (а также к повторному введению любых ошибок, которые мы исправили с тех пор), поэтому настоятельно рекомендуется пересобрать wwise, а не использоватьстарый NDK.