Поясните мне как понимать сообщение> -- Цитата:
> command error: code file for libgobject-2.0-0 not found
Зачем он ему вообще нужен? Ведь используются лишь символы dll-библиотеки.
Причём, исполняемый файл работает исправно.

BlackBox версии 1.6RC5.

Вот на таком простом примере:
## Код:
```
MODULE GnomeHello;

   IMPORT
      SYSTEM,
      WinApi,
      lg  := GnomeGlib,
      lo  := GnomeGObject,
      gdk := GnomeGdk,
      ls  := GnomeGObjectStuff,
      gtk := GnomeGtk;
   
   PROCEDURE MessageBox (title, msg: ARRAY OF CHAR; buttons: SET): INTEGER;
   BEGIN
      RETURN WinApi.MessageBoxW(0, msg, title, buttons)
   END MessageBox;
   
   PROCEDURE [ccall] delete_event (
        widget: gtk.PGtkWidget;
        event: gdk.PGdkEvent;
        user_data: lg.gpointer
      );
   BEGIN
      IF MessageBox('delete_event', "DELETE_EVENT", {}) = 0 THEN END;
   END delete_event;

   PROCEDURE [ccall] hello (
        widget: gtk.PGtkWidget;
        data: lg.gpointer
      );
   BEGIN
      IF MessageBox('Hello World', "HELLO WORLD", {}) = 0 THEN END;
   END hello;

   PROCEDURE [ccall] destroy
   (
     widget: gtk.PGtkWidget;
     data: lg.gpointer
   );
   BEGIN
      gtk.gtk_main_quit();
   END destroy;

   PROCEDURE Q*();
   BEGIN
      IF MessageBox('q', "Q", {}) = 0 THEN END;
   END Q;

   PROCEDURE HelloWorld* ();
      VAR
         (* GtkWidget is the storage type for widgets *)
         window: gtk.PGtkWidget;
         button: gtk.PGtkWidget;
         argc: gtk.PInt;
         argv: gtk.PStrList;
   BEGIN
      (* This is called in all GTK applications. Arguments are parsed
      * from the command line and are returned to the application. *)
      (*gdk.gdk_init(SYSTEM.ADR(Kernel.bootInfo.argc), SYSTEM.ADR(Kernel.bootInfo.argv));*)
      (*gtk.gtk_init(SYSTEM.ADR(Kernel.bootInfo.argc), SYSTEM.ADR(Kernel.bootInfo.argv));*)
      
      gtk.gtk_init(argc, argv);

      (* create a new window *)
      window := gtk.gtk_window_new(gtk.GTK_WINDOW_TOPLEVEL);


      (* When the window is given the "delete-event" signal (this is given
      * by the window manager, usually by the "close" option, or on the
      * titlebar), we ask it to call the delete_event () function
      * as defined above. The data passed to the callback
      * function is NULL and is ignored in the callback function.*)
      ls.g_signal_connect(window, "delete-event", SYSTEM.ADR(delete_event), NIL);

      (*
      /* Here we connect the "destroy" event to a signal handler.
      * This event occurs when we call gtk_widget_destroy() on the window,
      * or if we return FALSE in the "delete_event" callback. *)
      ls.g_signal_connect(window, "destroy", SYSTEM.ADR(destroy), NIL);

      (* Sets the border width of the window. *)
      gtk.gtk_container_set_border_width(window(gtk.PGtkContainer), 10);

      (* Creates a new button with the label "Hello World". *)
      button := gtk.gtk_button_new_with_label("Hello World");

   (* When the button receives the "clicked" signal, it will call the
      * function hello() passing it NULL as its argument.  The hello()
      * function is defined above.      *)

      ls.g_signal_connect(button, "clicked", SYSTEM.ADR(hello), NIL);

      (* This will cause the window to be destroyed by calling
      * gtk_widget_destroy(window) when "clicked".  Again, the destroy
      * signal could come from here, or the window manager. *)
      ls.g_signal_connect_swapped(button, "clicked", 
      SYSTEM.ADR(gtk.gtk_widget_destroy), SYSTEM.VAL(lg.gpointer, window));

      (* This packs the button into the window (a gtk container). *)
      gtk.gtk_container_add(window(gtk.PGtkContainer), button);

      (* The final step is to display this newly created widget. *)
      gtk.gtk_widget_show(button);

      (* and the window *)
      gtk.gtk_widget_show(window);

      (* All GTK applications must have a gtk_main(). Control ends here
      * and waits for an event to occur (like a key press or
      * mouse event). *)
      gtk.gtk_main();

   END HelloWorld;

END GnomeHello.
```

GnomeHello.HelloWorld