Я составляю код Vala на ElementaryOS Loki, который поставляется с версией GTX версии 3.18. Теперь я получаю (много) Устаревшие предупреждения как:Vala генерирует устаревшие предупреждения для более высоких версий GTK/GDK
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
Но рекомендуемые альтернативные методы, которые должны быть использованы в пользу «устаревших» из них просто dont't существуют в 3.18, поэтому я не могу их использовать ,
Как я могу заставить valac дать правильные предупреждения для данной версии GTK? Я стараюсь полностью отключить предупреждения, которые я бы предпочел избежать, если это возможно. valac имеет переключатель --target-бойким, но нет никакого эквивалента "--target-GTK"
-
РЕДАКТИРОВАТЬ: например, эта небольшая программа демонстрирует проблему, если скомпилирован с valac -o test test.vala --pkg=gtk+-3.0
(на ElementaryOS Локи, с 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;
}
}
Я не знаю, есть ли возможность отключить это. Они пытаются предупредить вас, что независимо от того, какую версию вы используете, для будущей совместимости вы не должны использовать определенные классы. – oldtechaa