gpt4 book ai didi

c++ - Android、SWIG 和双向通信

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:45 25 4
gpt4 key购买 nike

我有一个 C++ api,我无法更改它:

  • 暴露对象(简单)
  • 公开必须由调用者派生的接口(interface)(经典的触发监听器设计模式)。

我设法使用 SWIG 和 director 功能将此 API 包装到 python,这允许跨语言派生。然而,当我尝试使用 ndk 编译它,并在 Android 的 Dalvik VM 中公开它时,我发现 SWIG 中的 Controller 通过 RTTI 得到支持,而 Android 不支持 RTTI。

关于如何解决此限制的任何想法?基本上,我有一种使用 JNI 和 SWIG 在 Java 中公开我的 native 对象的简单方法,但我需要能够从 native 代码触发我的 Java 代码。

最佳答案

Android 确实支持 RTTI 和 NDK r5 的异常(exception)情况。只需添加 -fexceptions-frtti 编译标志,并将行 APP_STL := gnuSTL_static 添加到 Application.mk文件。

关于c++ - Android、SWIG 和双向通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5653102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com