Я пытаюсь включить Bullet Physics в существующее приложение SDL2.
У меня две проблемы,
1) Я получаю ошибку компиляции в заголовках STL ndk-build
и
2) Android Studio не распознает, что libBullet является частью проекта (Android.mk помечен красным).
Сначала структура каталогов:
MyApp
jni
Android.mk
Application.mk
SDL2
Android.mk
BULLET
Android.mk
src
Android.mk
main.c
Android.mk в jni / src имеет
LOCAL_SHARED_LIBRARIES := SDL2 \
libBullet
Android.mk в jni имеет
include $(call all-subdir-makefiles)
У меня нет, как еще включитьlibBullet?
Второй. Хотя Android Studio не распознает, что libBullet является частью проекта, она пытается скомпилировать в соответствии со списком файлов из Android.mk
. Я получаю следующую ошибку:
In file included from ~/src/Test/myapp/app/jni/libBullet/src/LinearMath/btThreads.cpp:17:
In file included from /home/klejs/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/algorithm:643:
In file included from /home/klejs/Android/Sdk/ndk-bundle/sources/cxx-stl/system/include/utility:36:
~/Android/Sdk/ndk-bundle/sources/cxx-stl/system/include/stl_pair.h:86:30:
error: no template named 'pair'
inline bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
Я не очень понимаю, что здесь происходит, код прекрасно компилируется при компиляции для нативного Linux, и я не изменил никакого кода.
Я думаю, может быть, что-то такое, что SDL2 используется совместно, а Bullet статичен?