2012-12-04 11 views
5

Ich habe ein paar Scala-Codes, die ich mit IntelliJ mit dem SBT-Plugin geschrieben habe und möchte mir Code als DLL für C++ zur Verfügung stellen.Scala-Dateien in eine DLL umwandeln

Ich habe bereits versucht, 'ikvmc' zu verwenden: Ich packte alle meine Klassen über 'Paket' in einem Glas. Danach habe ich manuell ein jar eingerichtet, das alle Abhängigkeiten enthält, die ich verwende (scala-library, scama, jamtio, jama). Leider erhalte ich viele Warnungen: 'IKVMC0119', 'Embedded java.lang.VerificationError' und 'IKVMC0104' (analog zum Beispiel)!

Dann habe ich versucht eine einfache scala-Klasse zu konvertieren (keine Abhängigkeiten) Verwenden Sie die oben beschriebene Methode: Paket mit sbt, fügen Sie die scala-library.jar hinzu und versuchen Sie es über ikvmc -target: library simpleClass.jar zu konvertieren.Ich erhalte die gleichen Warnungen/Fehler, wie Sie unten sehen ... enter image description here

würde ich mich sehr freuen, wenn mir jemand eine Schritt-für-Schritt-Anleitung geben könnte, wie mein Scala-Code als DLL.

vielen Dank im Voraus viel zu bieten!

Antwort

2

Welche IKVM-Version verwenden Sie?

Wenn Sie bereits 7.1 verwenden, klingt es wie ein Fehler in IKVM. Kontaktieren Sie die Mailingliste oder die Fehlerliste mit einem Muster für die Reproduktion.

Wenn Sie eine ältere Version verwenden, sollten Sie aktualisieren.

+0

Ich verwende die neueste Version von IKVM, die '7.1.4532.2' ist. Ich benutze Scala 2.9.2 und SBT 1.0. Ich habe jetzt meine hello.jar konvertiert (nur abhängigkeit ist die scala-library.jar) mit IKVMC '7.0.4335.0' und ich erhalte völlig andere Warnungen als mit Version 7.1 .: IKVMC0100 'class not found', IKVMC0105 'missing class', IKVMC0100 'Klasse nicht gefunden', IKVMC0111 'java.lang.NoClassDefFoundError'. – user1537137

+0

Bitte poste dies auf der Mailingliste von IKVM oder öffne ein Fehlerticket. – Horcrux7

1

Nach dem Konvertieren der hello.jar mit der vorherigen Version von IKVM ('7.0.4335.0') könnte ich die DLL in C# verwenden (obwohl ich eine Warnung von ikvmc erhalten habe). Es funktionierte auch für meinen Scala-Code: das Konvertieren des sbt-verpackten Jars mit seinen Abhängigkeiten lieferte eine DLL. Danach konnte ich die Klassen in C# verwenden!