Ich versuche, eine iOS-Anwendung auf OS X mit Scala-native zu erstellen und eine Reihe von Problemen bei der Erstellung von sbt zu bekommen. Hinweise, was zu tun ist, sind willkommen.
Ich setze build.sbt mit Xcode-Verzeichnissen für iOS-Dateien wie folgt:
%Vor%Wenn die ersten Kompilationen für die c-Dateien durchgeführt werden, die in der nativenLib enthalten sind (z. B. wrap, time, dyndispatch, gc, posix, eh (c ++), Unwind und Ziel), kann ich keine Möglichkeit sehen, Optionen hinzuzufügen Die sbt-Kompilierbefehlszeile. Da diese Kompilationen .o-Dateien (nicht .ll) das Ziel erstellen Die Plattform ist bereits eingestellt, sobald diese Kompilationen abgeschlossen sind. Eine Beispielkompilierung folgt:
%Vor%Wenn ich den Scala-nativen Code kompiliere, kann ich Optionen über nativeCompileOptions hinzufügen und das xcode simulator sdk-Verzeichnis als System-Root (-isysroot ... / iPhoneSimulator.10.3.sdk) hinzufügen, um den Trick zu machen, obwohl es Warnungen gibt, "das Modul Target Triple mit x86_64-apple-ios10.3.0 zu überschreiben"
Beim Verknüpfen gibt es 2 Probleme: a) Die gc-Bibliothek wird nicht gefunden (muss ich eine für iOS erstellen? Eine Kreuz-Build von Boehm?) b) Die ersten Kompilationen, die für MacOS durchgeführt wurden, stehen nun in Konflikt mit denen für iOS gemacht. Es folgt der Link-Befehl, der von sbt:
erzeugt wird %Vor%Gehe ich das alles falsch? Ich bin kein sbt-Experte, aber muss ich größere Änderungen am scala-nativen sbt-Code vornehmen?
Danke.