2016-07-06 10 views
0

Ich mache gerade das AOT-Tutorial und der Compilation-Teil funktioniert, aber wenn ich versuche, den Code zu erstellen (das ist in einem separaten Projekt), enthält er den kompilierten Code der folgende Fehler:Ich kann den AOT-Code nicht ausführen

enter image description here

Wie ich es löse?

EDIT: Follow-up-Frage. Ich schaffte es zwei Funktionen zu kompilieren und wenn ich versuche, sich im selben Projekt zu verwenden, es hält die folgenden Fehler zu werfen:

enter image description here

Das ist nur ein paar des Fehlers ist. Also meine Follow-up-Frage ist. Kann ich alle meine Funktionen in eine Datei zusammenführen oder gibt es eine andere Möglichkeit, die Doppeldefinitionen zu ignorieren?

Antwort

1

Sie können die NoRuntime Funktion im Ziel sind die halide_ Funktionen zu entfernen. Sie benötigen diese Funktionen natürlich noch, und Sie können compile_standalone_runtime() verwenden, um eine einzelne Kopie von ihnen zu erstellen.

+0

würde das bedeuten, dass ich alle Funktionen, die ich in AOT kompilieren möchte, kopieren und sie in ein einzelnes Projekt einfügen und dann 'compile_standalone_runtime()' aufrufen soll? – Rok

+1

Jede Verwendung von 'compile_to_file' erzeugt ein AOT-Header/Objekt-Dateipaar. 'compile_standalone_runtime' erzeugt eine Objektdatei. Verknüpfen Sie sie mit Ihrem Code, der die AOT-Funktionen verwendet. Dies kann unter Windows mühsam sein, da Sie ein (oder mehrere) Projekte erstellen müssen, um die Objektdateien zu erstellen, die Ihr endgültiges Projekt benötigt. –

1

Ich löste es durch die OBJ-Datei als eine der Linker die Eingänge Hinzufügen

Verwandte Themen