【问题标题】:Is it possible to use Kotlin Native on macOS 10.12?是否可以在 macOS 10.12 上使用 Kotlin Native?
【发布时间】:2019-03-26 19:50:55
【问题描述】:

我正在尝试将一个简单的 Go macOS 应用程序移植到 Kotlin Native。在与各种错误作斗争后,我决定退后一步,看看 Kotlin Native 提供的官方示例。

我在这里找到了一个基本的 OpenGL 示例:

https://github.com/JetBrains/kotlin-native/tree/master/samples/opengl

但到目前为止,我还无法编译它。

我尝试下载 Kotlin 的完整源代码,但无法构建。我遵循了在构建时生成的一些建议,包括对“ignoreXcodeVersionCheck”的更改和为编译器下载预构建的二进制文件,但此时我想知道我的环境是否不支持这一点?我明白这都是实验性的。

我在下面附上了一个错误示例,但我不确定什么是相关的。

问题:请问其他人有这个设置/环境吗?我可以期待它工作吗?

macos 10.12.4、kotlin 1.3.11、xcode 8.2.1

.konan/dependencies/clang-llvm-6.0.1-darwin-macos/include/c++/v1/cmath:551:28: error: expected a qualified name after 'typename'
_LIBCPP_CONSTEXPR typename enable_if<is_floating_point<_A1>::value, bool>::type

.konan/dependencies/clang-llvm-6.0.1-darwin-macos/include/c++/v1/cstddef:44:15: fatal error: 'stddef.h' file not found
#include_next <stddef.h>

    A problem occurred evaluating root project 'kotlin-native-master'.
 expected Xcode version 10.1, got 8.2.1, consider updating Xcode or use "ignoreXcodeVersionCheck" variable in konan.properties

kotlin-native-master/runtime/src/main/cpp/ObjCExportErrors.mm:73:23: error: no type or protocol named 'NSErrorUserInfoKey'
  NSMutableDictionary<NSErrorUserInfoKey, id>* userInfo = [[NSMutableDictionary new] autorelease];

.konan/dependencies/clang-llvm-6.0.1-darwin-macos/include/c++/v1/cmath:313:9: error: no member named 'signbit' in the global namespace
using ::signbit;

【问题讨论】:

  • 它适用于 macOS 10.14.3 和 Xcode 10.1
  • 谢谢,我暂时放弃了 Kotlin Native。我最终确实得到了一个“你好世界”的运行......但目前一切似乎都非常初级,没有文档或测试来显示使用情况。我知道 KN 仍然是非常实验性的,但是我在不到一个小时的时间内就用 Go 运行了相同的 OpenGL 东西,编译时间大约是一秒......似乎 KN 有很长的路要走,但很高兴听到它确实可以在某个地方工作,谢谢。
  • @Peter 你能告诉我,在哪里添加ignoreXcodeVersionCheck 选项?我真的被卡住了......我将它用作插件而不是实际的 kotlin 原生源代码
  • @touhid udoy - ignoreXcodeVersionCheck 位于 konan 子目录的 konan.properties 文件中。

标签: opengl kotlin-native


【解决方案1】:

我确实设法让“hello world”在上述环境下工作,但我已经放弃了 OpenGL 的东西。我目前无法更新我的环境,我想这个问题不会影响很多人。所以我要用这个“答案”来结束它。

【讨论】:

    猜你喜欢
    • 2016-10-14
    • 2016-10-15
    • 2023-03-12
    • 1970-01-01
    • 2017-12-18
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多