问题标签 [kotlin-native]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 链接 ktor 和 kotlinx.coroutines 会导致未定义的符号
我正在尝试将我的 Kotlin/Native 项目链接为 iOS 框架。Kotlin 代码编译得很好,但是当链接器运行时,我收到以下错误:
我曾尝试将平台从更改为iosX64
,iosArm64
但会导致相同的错误。这是我的 gradle 文件供参考,以防我缺少依赖项。
任何帮助将不胜感激,谢谢!
android - 如何确定 kotlin-multiplatform 项目中的构建类型
我正在开发一个多平台项目,iOS 和 JVM(我不直接针对 Android)。根据构建类型(调试或发布),我想配置日志记录级别(即仅打印发布中的错误)。由于没有BuildConfig
可用的类,我如何从commonMain
构建类型中知道?
kotlin-native - 如何使用 kotlin/native 实现 C 头文件中概述的功能?
我正在尝试使用 Kotlin/native 编写一个 libretro 核心。libretro 核心包含一个 C 库(动态或静态),它导出libretro.h中的所有函数大纲。我相信这应该是可能的,因为 kotlin/native 能够导出一个可由 C 程序调用的库,但我还没有设法让它输出一个甚至类似于 libretro 头文件的库。
我最初的方法是使用 cinterop 工具构建一个 klib 文件,并希望它允许我让一个类将头文件实现为接口。这没有用,我已经开始尝试让我的 kotlin 代码输出一个类似于 libretro 头文件的 C 头文件。我对这两种方法都没有任何运气,我也无法想到使用纯 kotlin/native 的另一种方法。
我的代码
一旦它被导出到标题,最终看起来像这样。我可以使用 @CName 注释将函数从默认情况下放置的包结构中取出,但我仍然遇到函数类型签名、#define 宏和枚举(可能还有其他问题,但这些是到目前为止我遇到的那些)。
json - 如何在 Kotlin 本机上通过 Kotlinx 序列化创建嵌套 JSON
我通过 Kotlin 多平台创建了一个共享库,我使用Kotlin Serialization
库进行序列化和反序列化,我Graph QL
在我的项目上实现,我使用下面的结构
为了与 进行通信API
,现在我有一个问题,我应该将 a 填写Json
为by,Object
但是当我填写为 String 并获得例外时,我找不到解决方法。variables
Kotlinx.Serialization
varibales
API
如何通过 Kotlinx.Serialization 创建嵌套的 Json?
kotlin - 无法在 Kotlin Multiplatform 项目中引用 kotlinx.cinterop 包
我创建了一个基于 iOS 和 Android 示例的 Kotlin Multiplatform 项目 ( https://kotlinlang.org/docs/tutorials/native/mpp-ios-android.html )。在我的 iOS 目标中,我使用 cinterop 链接到第 3 方 Objective-C 框架。这工作正常。我可以在“iosMain”源集中的 Kotlin 代码中引用框架类。但是,其中一个方法调用需要一个 NSError** 参数。我正在尝试使用以下内容在我的 Kotlin 代码中创建此变量:
我无法解决以下错误:
我的理解是这个包是stdlib的一部分,应该自动添加为依赖项。我是否在某处遗漏了方程式的一部分?
更新
以下是从 Kotlin 传递 NSError* 引用的示例:
kotlin - 我在哪里可以找到 cinterop 工具来创建 def 文件?
我正在尝试在我的 Kotlin MPP 项目中使用 SocketRocket Objective-C 库,我需要使用 cinterop 导入它,但我似乎找不到它。
kotlin - 在 Kotlin/Native 中读取环境变量
好的,所以我想创建一个原生应用程序来读取一些环境变量,并根据一些业务逻辑,将它们的值更改为其他值。我决定用 Kotlin 来做。
我设法通过创建函数来了解如何更改系统环境变量:
但它只会改变价值。我想将它存储在 Kotlin 变量中并对其进行一些操作。
发出语句 call("SET $variable") 将值打印到命令提示符,但我不知道如何从 Kotlin 中捕获它。我想是否有一种方法可以将命令提示符的输出提取到一个字符串中,这样会更容易,即使 Windows 以 myvariable=myvalue 的形式输出它,而不仅仅是值。
提前致谢
opengl - 是否可以在 macOS 10.12 上使用 Kotlin Native?
我正在尝试将一个简单的 Go macOS 应用程序移植到 Kotlin Native。在与各种错误作斗争后,我决定退后一步,看看 Kotlin Native 提供的官方示例。
我在这里找到了一个基本的 OpenGL 示例:
https://github.com/JetBrains/kotlin-native/tree/master/samples/opengl
但到目前为止,我还无法编译它。
我尝试下载 Kotlin 的完整源代码,但无法构建。我遵循了构建时生成的一些建议,包括对“ignoreXcodeVersionCheck”的更改和为编译器下载预构建的二进制文件,但此时我想知道我的环境是否不支持这一点?我明白这都是实验性的。
我在下面附上了一个错误示例,但我不确定什么是相关的。
问题:请问其他人有这个设置/环境吗?我可以期待让它工作吗?
macOS 10.12.4、科特林 1.3.11、xcode 8.2.1
kotlin - Kotlin/Native 中的 ${type}Var 是什么?
当它试图说出什么是${type}Var
.
...对于 Kotlin 枚举,它被命名为
${type}Var
笏?!什么是 Kotlin 枚举?常规的 Kotlin 枚举?
我不认为这是暗示。
好的,让我们看一下本文档中的示例:
struct S*
映射到CPointer<S>
,int8_t*
映射到CPointer<int_8tVar>
好的,很清楚
char**
映射到CPointer<CPointerVar<ByteVar>>
为什么char**
映射到CPointer<CPointerVar<ByteVar>>
但不映射到CPointer<CPointer<Byte>>
?
所以最后的问题是:什么是IntVar
,LongVar
和CPointerVar<T>
其他类似的东西${type}Var
?