Android Studio Project无法识别外部C ++库?

我正在尝试将Bullet Physics集成到现有的SDL2应用程序中。

我有两个问题,

1)我在ndk-build的STL标头中收到编译错误

2)Android Studio无法识别libBullet是项目的一部分(Android.mk标记为红色)。

首先目录结构为:

MyApp
     jni
          Android.mk
          Application.mk
          SDL2
               Android.mk
          BULLET
               Android.mk               
          src
               Android.mk                
               main.c

jni / src中的Android.mk具有

LOCAL_SHARED_libraRIES := SDL2 \
                          libBullet

jni中的Android.mk具有

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是静态的呢?

guangguang198 回答:Android Studio Project无法识别外部C ++库?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3141162.html

大家都在问