Make sure package mingw-w64-x86_64-gtk3 is installed. Build your project
with a custom prefix (e.g. ~/my-gtk-app-prefix). Navigate to this directory
such that you have subdirectories 'bin', 'lib', 'share', etc containing
the executable to distribute.
The following command copies all dependent DLLs to the current directory:
$ ldd bin/mygtkapp.exe | grep '\/mingw.*\.dll' -o | xargs -I{} cp "{}" ./binWhere mygtkapp.exe is the executable in question (e.g. gtk3-demo, etc). This
ensures that the necessary DLLs are bundled in the application folder so the end
user does not need their own installation of msys2.
All credit to: https://stackoverflow.com/a/50130668
GTK will crash if it cannot load images. GdkPixbuf needs various loaders for different image formats. Your prebuilt loaders will suffice.
Copy them over to the custom prefix directory:
cp -r /mingw64/lib/gdk-pixbuf-2.0 ./lib/gdk-pixbuf-2.0We then need to copy over the Adwaita and hicolor icon themes, otherwise GTK will display a fallback 'missing icon' symbol.
$ cp -r /mingw64/share/icons/* ./share/icons/The relevant settings schemas need to be installed. Copy them over and recompile. You may want to manually inspect the copied over schemas (in case unrelated projects are also copied).
$ cp /mingw64/share/glib-2.0/schemas/* share/glib-2.0/schemas/
$ glib-compile-schemas.exe share/glib-2.0/schemas/