2014-10-08 1 views
3

Я пытаюсь обновить графический проект в vala, перемещая множество строк кода в файл ui. Я хочу использовать шаблон (доступный с glib-2.38 и GTK + 3.8, что-то в этом роде).Как добавить файл ресурсов в проект anjuta

Мой проект управляется с помощью Anjuta и autoconf.

В каталоге src есть

application.ui:

<?xml version="1.0" encoding="UTF-8"?> 
<interface> 
    <!-- interface-requires gtk+ 3.8 --> 
    <template class="SpiWindow" parent="GtkApplicationWindow"> 
    <property name="title" translatable="yes">Example Application</property> 
    <property name="default-width">600</property> 
    <property name="default-height">400</property> 
    <child> 
     <placeholder /> 
    </child> 
    </template> 
</interface> 

resources.xml:

<?xml version="1.0" charset="UTF-8" ?> 
<gresources> 
    <gresource prefix="/org/app/spi"> 
    <file compressed="true" preprocess="xml-stripblanks">application.ui</file> 
    </gresource> 
</gresources> 

в src/Makefile.am У меня есть добавить --gresources resources.xml к spi_VALAFLAGS. И, наконец, я декларирована Gtk.ApplicationWindow как этот

[GtkTemplate(ui = "/org/app/spi/application.ui")] 
internal class SpiWindow : Gtk.ApplicationWindow { 

    // Constructor 
    public Window (Gtk.Application application) { 
     Object(application: application); 
    } 
} 

Но когда я компилирую, а затем запустить приложение, то сообщение об ошибке:

(spi:9749): Gtk-CRITICAL : Unable to load resource for composite template for type 'SpiWindow': The resource at '/org/app/spi/application.ui' does not exist 
(spi:9749): Gtk-CRITICAL : gtk_widget_init_template: assertion 'template != NULL' failed 

ответ

3

Вы все еще должны собрать ресурсы и включить их:

GLIB_COMPILE_RESOURCES=glib-compile-resources 

resources.c: resources.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies resources.xml) 
    $(GLIB_COMPILE_RESOURCES) [email protected] --generate-source $< 

и включают resources.c в качестве исходного файла в spi_SOURCES.

+1

Спасибо, я попытался использовать в качестве шаблона make-файл baobab, но я пропустил часть, где должен быть добавлен встроенный файл C в spi_SOURCES. –

 Смежные вопросы

  • Нет связанных вопросов^_^