Ich habe eine in Vala geschriebene Bibliothek, die immer gut funktioniert hat, indem ich eine .vapi
Datei für mich selbst erstellte, denke ich, weil es eine kostenlose Operation mit valac
ist, aber ich bin nicht davon überzeugt. Ich ging hin und versuchte VAPIGEN_CHECK
in meiner configure.ac
-Datei zu verwenden und die VAPIGEN_MAKEFILE
in meinem Makefile.am
zugeordnet ist, und jetzt bekomme ich:Erzeugen einer Vapi-Datei für eine Vala-Bibliothek
error: The type name `GLib.TypeInstance' could not be found
Meine entsprechenden .gir
Datei enthält:
<field name="parent_instance">
<type name="GObject.TypeInstance" c:type="GTypeInstance"/>
</field>
So ist der Fehler scheint Sinn zu machen weil ich die GObject.TypeInstance
class/struct in keiner .vapi
Datei finden kann, aber GTypeInstance
ist in einem der GLib-Header.
Soll ich es sogar so machen, wenn ich schon alles in Vala schreibe? Gibt es eine Möglichkeit, dass dies beim Vapi fehlt?
Edit: Möglicherweise nur wegen meiner nicht abgeleitet GLib.Object
, die ich dachte, war implizit. Ich versuche immer noch, etwas anderes zu reparieren, das dies verhindert, aber sobald das erledigt ist, werde ich das aktualisieren, um zu sagen, ob es wirklich wichtig ist oder nicht.
Die Verwendung von '--vapi' ist am sinnvollsten, da' GLib.Object' explizit als Basisklasse definiert wurde. Ich habe gerade versucht, die '.deps' mit' vapigen' zu erzeugen, was ich auch getan habe. Ich habe die Regel für das Vapi einfach weggelassen. – geoffjay