c++ - 在 iOS 上使用 Android C++ 库

标签 c++ ios java-native-interface

我正在使用最新的 SDK 开发一个 iOS 应用程序,它将使用 OpenCV。

此应用是从 Android 应用迁移过来的,我将在我的 iOS 项目中使用它的所有 C++ 文件。

在 C++ 文件上,我有这样的函数签名:

myFunction(JNIEnv * jenv, jclass jobj, jint 宽度, jint 高度,jintArray leftDetectionRectArray, jintArray rightDetectionRectArray )

我可以在不对我的 iOS 代码进行任何更改的情况下使用这些 C++ 文件吗?还是您必须对它们进行一些更改?

你有什么推荐给我的?

最佳答案

您不能在未经修改的情况下在您的 iOS 代码中使用这些 C/C++ 文件。

使用 JNI 的部分可能只是您真实代码(纯 C/C++ 中)的接口(interface),在这种情况下,您可以将其删除并直接使用 C/C++ 代码或创建一个 objective-C 接口(interface)。

JNI 函数没有也不会在 iOS 上定义,因为基于 iOS 的设备上没有 Java 虚拟机(至少在任何官方版本中没有)。

关于c++ - 在 iOS 上使用 Android C++ 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15221389/

相关文章:

c++ - 访问冲突读取位置 0xCCCCCCCC

c++ - 使用模板更精确的诊断错误消息?

ios - 执行相互调用的方法。全部在后台

java - 无法在 Netbeans 中使用 JNI 从 .java 生成 native 文件

java - 在 JNI 调用 API 中工作时可以安全地将对象传递给 C 函数吗?

java - 如何释放字符**

c++ - 在 std::unordered_map 中使用模板化键

c++ - 与 Travis 一起使用 bii 时要在 gitignore 中放些什么

java - ANDROID - session /数据库连接管理(社交应用)

ios - 未使用 Storyboard 调用 UITextField 的委托(delegate)