Где найти объект Glib в вала?

Я только начал изучать валу. Я попробовал следующую программу из урока vala.

class Demo.Hello : Glib.Object
{
  public static int main( string[] args )
  {
    stdout.printf("Hello, Vala!\n");
    return 0;
  }
}

и получил это, когда я скомпилировал.

$ valac hello.vala 
hello.vala:1.20-1.23: error: The symbol `Glib' could not be found
class Demo.Hello : Glib.Object
                   ^^^^
Compilation failed: 1 error(s), 0 warning(s)
[1]+  Done                    gvim hello.vala

Если я уберу Glib. из Glib.Object, т.е. оставлю только class Demo.Hello : Object, то все будет нормально. Но все программы в учебнике используют Glib.Object. Что здесь не так? Я искал ответы, но не мог найти. Вот информация о версии вала:

$ valac --version
Vala 0.5.2

И я использую последнюю версию CentOS.


person yasouser    schedule 12.06.2011    source источник


Ответы (2)


Правильное название — GLib. Но вы также можете оставить «GLib». out и просто напишите «Object», пространство имен GLib неявно используется во всех приложениях vala. Для других пространств имен вы можете использовать «using», например using Gtk;.

person cmende    schedule 15.06.2011
comment
Это полуправда. Если вы когда-нибудь создадите класс, который имеет общее имя с чем-то в пространстве имен GLib, явное использование GLib внезапно станет важным. Имейте в виду: скорее всего, это плохая идея когда-либо делать это, если этого можно избежать без серьезного влияния на читаемость кода. - person rasmus91; 18.07.2019

Пространство имен называется GLib (с большой буквой L), а не Glib.

person lethalman    schedule 12.06.2011