【发布时间】: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