LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

Что-то аноним мы друг друга не понимаем.

Вот тебе пример, на vala.

using Gtk;

int main (string[] args) {
    Gtk.init (ref args);

    var window = new Window ();
    window.title = "First GTK+ Program";
    window.set_default_size (300, 50);
    window.destroy.connect (Gtk.main_quit);

    var button = new Button.with_label ("Click me!");
    button.clicked.connect (() => {
        button.label = "Thank you";
    });

    window.add (button);
    window.show_all ();

    Gtk.main ();
    return 0;
}

А вот варианты сборки:

vala hello.vala --pkg gtk+-3.0 -o hello-3
vala hello.vala --pkg gtk+-2.0 -o hello-2
gtk+-2.0.vapi:5873.40-5873.42: warning: Gtk is deprecated. Use gtk+-3.0
hello.vala:4.5-4.7: warning: Gtk is deprecated. Use gtk+-3.0
hello.vala:9.29-9.31: warning: Gtk is deprecated. Use gtk+-3.0
hello.vala:19.5-19.7: warning: Gtk is deprecated. Use gtk+-3.0
Compilation succeeded - 4 warning(s)
Как видно по сборке, собрались оба варианта, теперь у тебя есть два бинарника, один gtk2, один gtk3. Причём исходный код, один и тот же.

Исходная версия fsb4000, :

Что-то аноним мы друг друга не понимаем.

Вот тебе пример, на vala.

using Gtk;

int main (string[] args) {
    Gtk.init (ref args);

    var window = new Window ();
    window.title = "First GTK+ Program";
    window.set_default_size (300, 50);
    window.destroy.connect (Gtk.main_quit);

    var button = new Button.with_label ("Click me!");
    button.clicked.connect (() => {
        button.label = "Thank you";
    });

    window.add (button);
    window.show_all ();

    Gtk.main ();
    return 0;
}

А вот варианты сборки:

vala hello.vala --pkg gtk+-3.0 -o hello-3
vala hello.vala --pkg gtk+-2.0 -o hello-2
gtk+-2.0.vapi:5873.40-5873.42: warning: Gtk is deprecated. Use gtk+-3.0
hello.vala:4.5-4.7: warning: Gtk is deprecated. Use gtk+-3.0
hello.vala:9.29-9.31: warning: Gtk is deprecated. Use gtk+-3.0
hello.vala:19.5-19.7: warning: Gtk is deprecated. Use gtk+-3.0
Compilation succeeded - 4 warning(s)


Как видно по сборке, собрались оба варианта, теперь у тебя есть два бинарника, один gtk2, один gtk3. Причём исходный код, один и тот же.