【发布时间】:2012-07-18 08:47:32
【问题描述】:
我正在尝试从 Scala 类中创建一个 Dll。我将 IntelliJ 与 SBT 一起使用。我已经找到了一种使用 ikvm-converter 将 .jar 文件转换为 Dll 的方法。现在的问题:当我在 SBT 下使用“包”从我的 .scala 文件中创建一个 .jar 文件并尝试使用 ikvmc 将其转换为 Dll 时,结果库在集成到 C# 时为空...
例如,转换 Jama-Library(用 Java 编写)可以正常工作,而转换 Scama(用 Scala 编写)则不起作用。
有没有办法将 scala 代码转换为 dll?有没有“Scala to Java”的转换工具?
最好的问候, 克里斯托夫
【问题讨论】:
-
您是否也将您的 scala 运行时 jar 包含到您的转换中?请显示您的 ikvmc 命令行。
-
Scala 编译为 Java 字节码,因此 Scala 本身没有理由对 IKVMC 造成一些问题。当你编译 Scala 时,你会得到一个 Java 类。看起来问题是 Scama API 在通过 IKVM 转换时没有正确的可见性规则,无法从 C# 访问
-
ikvmc -target:library jama-1.0.2.jar
-
ikvmc -target:library scama_2.9.0-1.0.jar 这给了我 .dll 文件。转换诈骗库时,我收到警告,转换 Jama 时我没有收到警告。
-
尝试将此 jar 与所有依赖项一起转换。