Приложение gtk, ошибка при открытии UI файла: Document must begin with an element (e.g. <book>)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Приложение gtk, ошибка при открытии UI файла: Document must begin with an element (e.g. <book>)

Сообщение жучара »

Друзья! Ну то есть я понимаю, что документ должен с какого-то там элемента начинаться, но как это осуществить?
...Вот вырожденный код.

Код: Выделить всё

#include <gtk/gtk.h>

int main ()
{
  GtkBuilder *builder = gtk_builder_new_from_file ("builder.ui");
  return 0;
}
Вот информация по gtk_builder_new_from_file.
Ну то есть строим какой-то там объект, а данные берём из файла builder.ui. Вот он:

Shell

$ cat builder.ui
<interface>
<object class="GtkDialog" id="dialog1">
<child internal-child="content_area">
<object class="GtkBox">
<child internal-child="action_area">
<object class="GtkBox">
<child>
<object class="GtkButton" id="ok_button">
<property name="label" translatable="yes">_Ok</property>
<property name="use-underline">True</property>
<signal name="clicked" handler="ok_button_clicked"/>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>
$
Взят отсюда:

Компилю, запускаю.:

Shell

$ gcc $( pkg-config --cflags gtk4 ) -o example-4 example-4.c $( pkg-config --libs gtk4 )
$ ./example-4

(process:64884): Gtk-ERROR **: 15:28:06.842: failed to add UI from file builder.ui: Error on line 1 char 1: Document must begin with an element (e.g. <book>)
Ловушка трассировки/останова
$
Занавес.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Там где-то авторы намекнули, что можно чуть-чуть изменять (а можно и не изменять) файл *.ui:

Shell

Пытаюсь:

$ cat builder.ui
<?xml version="1.0" encoding="UTF-8">
<interface domain="your-app">
<requires lib="gtk" version="4.0" />
</interface>

$ gcc $( pkg-config --cflags gtk4 ) -o example-4 example-4.c $( pkg-config --libs gtk4 )
$ ./example-4

(process:65153): Gtk-ERROR **: 15:31:07.872: failed to add UI from file builder.ui: Error on line 1 char 1: Document must begin with an element (e.g. <book>)
Ловушка трассировки/останова
$
Такие дела. С builder.ui может, что не то? kate показывает, что он UTF-8. Спасибо, кто откликнется. Debian 12.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1056
ОС: астралинукс

Re: Приложение gtk, ошибка при открытии UI файла: Document must begin with an element (e.g. <book>)

Сообщение жучара »

Может, пригодится кому... Сюда смотрим:
l.png
И ещё раз:
pr.png
Левые символы убираем:
np.png
Сейчас всё работает. Ужас какой.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21046
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Приложение gtk, ошибка при открытии UI файла: Document must begin with an element (e.g. <book>)

Сообщение Bizdelnick »

Это называется википедия://byte order mark. Дожно отключаться в настройках редактора.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: