【问题标题】:Building Bullet Physics library with Android NDK使用 Android NDK 构建 Bullet Physics 库
【发布时间】:2018-04-27 10:27:15
【问题描述】:

我正在尝试使用 Bullet Physics 为我的渲染引擎(C++、Android、iOS)合并物理效果。对于 Android 平台,我使用 CMake 使用 ndk 构建 cpp 库。当我将子弹库(子弹碰撞、动力学和线性数学)添加为我的 graphicsEngine 库的 target_link_libraries 时,我的 Android 应用程序正在失去其在 AndroidStudio 中的调试功能。我怀疑我构建子弹库的方式有问题。我可以在以下路径中看到生成的库 libBulletCollision.so..etc..。

build\intermediates\transforms\stripDebugSymbol\google\debug\0\lib\armeabi-v7a

任何帮助或建议表示赞赏..

BulletPhysics 的 CMakeLists 的文件夹结构

cpp------
--BulletInclude-----
----BulletCollision-
----BulletDynamics--
----LinearMath------
----CMakeLists.txt
--GLEngine----------
--CMakeLists.txt

BulletInclude 中的每个文件夹都有一个 CMakeLists.txt,其结构如下

ADD_LIBRARY(libname 
            SHARED
            required cpp files)
TARGET_LINK_LIBRATIES(libname otherlibname)

【问题讨论】:

  • 这到底是什么意思:“Android 应用正在失去调试能力”?你能发布一些你得到的错误信息吗?这是在运行时发生的,还是在编译时发生的?
  • @SujitPoudel ,失去调试能力,我的意思是,我在 cpp 代码中的断点不起作用。没有错误消息,我的应用程序正在运行而没有崩溃。我希望这能说明没有编译时或运行时错误。

标签: debugging cmake android-ndk bulletphysics android-studio-3.1


【解决方案1】:

在我的 Android 应用程序中,我使用 cmake 构建了我的 a)Rendering Engine 库 b)子弹物理库。 然后将子弹物理库作为依赖库添加到我的渲染引擎库中。由于这些步骤,我的 Android 应用无法调试我的 cpp 代码。

所以...

我将全部 Bullet Physics 源代码添加到我的渲染引擎中,然后我可以正常调试我的 Android 应用程序的 cpp 代码。

我仍然不清楚是什么问题,是否与

1)cmake build issue
2)lldb of android studio
3) or some other..

我希望我的方法对其他人有所帮助..

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多