gdk-pixbuf loaders from mingw
Latest update:
I was mildly rejoicing after a successful cross-compilation of a Linux
gtk3 app to Windows, when a warning from a resulting .exe appeared:
Could not load a pixbuf from
/org/gtk/libgtk/theme/Adwaita/assets/bullet-symbolic.svg. This may
indicate that pixbuf loaders or the mime database could not be found.
To even get to this warning, one has to copy all the required dlls &
icons (5007, in my case) to a directory structure (called
installation folder) like so:
$ tree -L 3
.
├── bin
│ ├── app.exe
│ ├── libgdk-3-0.dll
│ ├── libgdk_pixbuf-2.0-0.dll
│ ├── libgio-2.0-0.dll
│ ├── libglib-2.0-0.dll
│ ├── libgmodule-2.0-0.dll
│ ├── libgobject-2.0-0.dll
│ ├── libgtk-3-0.dll
│ ├── ...
├── lib
│ └── gdk-pixbuf-2.0
│ └── 2.10.0
└── share
├── glib-2.0
│ └── schemas
└── icons
├── Adwaita
└── hicolor
Here, gdk-pixbuf dlls gave me all the grief, particularly
$ peldd lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll
libgdk_pixbuf-2.0-0.dll
libglib-2.0-0.dll
libgobject-2.0-0.dll
librsvg-2-2.dll
libxml2-2.dll
Without gdk-pixbuf libraries loaded you get the aforementioned
warning, that drove me nuts, & subtle rendering glitches, like no
visible GtkSpinner.
Turns out, all you need is to
- cd to the root of the installation folder;
- run
gdk-pixbuf-query-loaders.exe --update-cache
.
This generates correct loaders.cache
file.
Tags: ойті
Authors: ag