kotlin-multiplatform - 如何将 c++ 代码导入到 commonMain(Kotlin/多平台项目)

标签 kotlin-multiplatform

我想在将我的业务逻辑代码从 JAVA 迁移到 Kotlin/Multiplatform 之前实现一些用例。
其中之一是使用 C++ 代码。
是否可以在 commonMain 级别的 Kotlin/Multiplatform 项目中使用 C++ 代码?
或者我需要为每个平台编写一个包装层(如 JNI)?
我可以得到一些示例代码吗?
非常感谢!

最佳答案

调用 C++ 可能很棘手。您需要在 JVM 上安装 JNI,而在 native 上,您需要用 C(或 Objective-C)包装 C++,然后使用 cinterop 使其可用于 native Kotlin 编译器。然后,通常,您需要编写逻辑的通用版本,并在每个平台上实现。

    Kotlin(common)
          |
         / \
        /   \
    Kt(jvm) Kt(native)
      /       \
    JNI       C/ObjC
    /           \
  C++           C++
最终可能会在 native 上实现直接的 C++ 互操作,但不确定何时。

关于kotlin-multiplatform - 如何将 c++ 代码导入到 commonMain(Kotlin/多平台项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64628976/

相关文章:

android - 在范围内找不到 "Greeting"

android - 从项目目录读取本地文件 | Kotlin 多平台移动 |知识管理系统

android-studio - Gradle 同步失败 : Unsupported method: KotlinPlatformContainer. 支持()

android - 我在 Android studio 中创建了一个新的 KMM 项目,但在 Android View 中没有看到 androidMain 模块

kotlin - 是否可以在 Kotlin 中使用多个通用库?

构建 iOS 应用程序时,Kotlin/Native compileKotlinIosX64 任务失败

android - Kotlin 多平台项目

gradle - Kotlin MPP - 在 IntelliJ 上使用 Gradle 构建问题

Kotlin 多平台预期注释返回 `This class does not have a constructor` 和 neo4j 实际类型别名

gradle 同步成功时,Kotlin 多平台无法解析引用