Ich kompiliere einen Vala-Code auf ElementaryOS Loki, der mit GTK Version 3.18 ausgeliefert wird. Jetzt bekomme ich (viel) ist veraltet und Warnungen wie:Vala generiert veraltete Warnungen für höhere GTK/GDK-Versionen
src/ScreenGrabber.vala:64.55-64.94: warning: Gdk.Display.get_device_manager has been deprecated since 3.20.
src/ScreenGrabber.vala:64.55-64.115: warning: Gdk.DeviceManager.get_client_pointer has been deprecated since 3.20
src/ScreenGrabber.vala:85.19-85.50: warning: Gdk.Screen.get_active_window has been deprecated since 3.22
Aber die empfohlene Alternative Methoden, die einfach dont't existieren noch in 3,18 zugunsten der „veralteten“ Einsen verwendet werden soll, so kann ich sie nicht verwenden .
Wie kann ich valac die richtigen Warnungen für die gegebene GTK Version geben? Ich neige dazu, Warnungen komplett abzuschalten, die ich lieber vermeiden möchte. valac hat einen Schalter --target-glib, aber es gibt kein Äquivalent "--target-GTK"
-
EDIT: z.B. dieses kleine Programm demonstriert das Problem mit valac -o test test.vala --pkg=gtk+-3.0
kompiliert, wenn (auf Elementary OS Loki, mit GTK 3,18)
using Gtk;
public class Test {
public Test() {
var manager = Gdk.Display.get_default().get_device_manager();
}
public static int main(string[] args) {
var test = new Test();
return 0;
}
}
Ich weiß nicht, ob es eine Option gibt, um dies auszuschalten. Sie versuchen, Sie zu warnen, egal welche Version Sie verwenden, aus Gründen der zukünftigen Kompatibilität sollten Sie bestimmte Klassen nicht verwenden. – oldtechaa