Cross Compile =============================================================================== needed: wine wine64 mingw-w64 mingw-w64-tools = = lib-glib =============================================================================== cross-file.ini [host_machine] system = 'windows' cpu_family = 'x86_64' cpu = 'x86_64' endian = 'little' [properties] c_args = [] c_link_args = [] [binaries] c = '/usr/bin/x86_64-w64-mingw32-gcc' cpp = '/usr/bin/x86_64-w64-mingw32-g++' ar = '/usr/bin/x86_64-w64-mingw32-ar' strip = '/usr/bin/x86_64-w64-mingw32-strip' pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' windres = '/usr/bin/x86_64-w64-mingw32-windres' ld = '/usr/bin/x86_64-w64-mingw32-ld' exe_wrapper = 'wine64' mkdir build cd build meson --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../cross-file.ini mseon compile meson install cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ = = atk =============================================================================== cross-file.ini [host_machine] system = 'windows' cpu_family = 'x86_64' cpu = 'x86_64' endian = 'little' [properties] c_args = [] c_link_args = [] [binaries] c = '/usr/bin/x86_64-w64-mingw32-gcc' cpp = '/usr/bin/x86_64-w64-mingw32-g++' ar = '/usr/bin/x86_64-w64-mingw32-ar' strip = '/usr/bin/x86_64-w64-mingw32-strip' pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' windres = '/usr/bin/x86_64-w64-mingw32-windres' ld = '/usr/bin/x86_64-w64-mingw32-ld' exe_wrapper = 'wine64' mkdir build cd build PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../cross-file.ini mseon compile meson install cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ = = pango =============================================================================== cross-file.ini [host_machine] system = 'windows' cpu_family = 'x86_64' cpu = 'x86_64' endian = 'little' [properties] c_args = [] c_link_args = [] [binaries] c = '/usr/bin/x86_64-w64-mingw32-gcc' cpp = '/usr/bin/x86_64-w64-mingw32-g++' ar = '/usr/bin/x86_64-w64-mingw32-ar' strip = '/usr/bin/x86_64-w64-mingw32-strip' pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' windres = '/usr/bin/x86_64-w64-mingw32-windres' ld = '/usr/bin/x86_64-w64-mingw32-ld' exe_wrapper = 'wine64' mkdir build cd build PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../cross-file.ini mseon compile meson install cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ = = gdk-pixbuf =============================================================================== cross-file.ini [host_machine] system = 'windows' cpu_family = 'x86_64' cpu = 'x86_64' endian = 'little' [properties] c_args = [] c_link_args = [] [binaries] c = '/usr/bin/x86_64-w64-mingw32-gcc' cpp = '/usr/bin/x86_64-w64-mingw32-g++' ar = '/usr/bin/x86_64-w64-mingw32-ar' strip = '/usr/bin/x86_64-w64-mingw32-strip' pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' windres = '/usr/bin/x86_64-w64-mingw32-windres' ld = '/usr/bin/x86_64-w64-mingw32-ld' exe_wrapper = 'wine64' mkdir build cd build PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../cross-file.ini mseon compile meson install cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ = = libepoxy =============================================================================== cross-file.ini [host_machine] system = 'windows' cpu_family = 'x86_64' cpu = 'x86_64' endian = 'little' [properties] c_args = [] c_link_args = [] [binaries] c = '/usr/bin/x86_64-w64-mingw32-gcc' cpp = '/usr/bin/x86_64-w64-mingw32-g++' ar = '/usr/bin/x86_64-w64-mingw32-ar' strip = '/usr/bin/x86_64-w64-mingw32-strip' pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' windres = '/usr/bin/x86_64-w64-mingw32-windres' ld = '/usr/bin/x86_64-w64-mingw32-ld' exe_wrapper = 'wine64' mkdir build cd build PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig meson --buildtype=release --prefix=/opt/W64-cross-compile/ --cross-file ../cross-file.ini mseon compile meson install cp `find -name "*.dll"` /opt/W64-cross-compile/lib/ = = GTK =============================================================================== cp /opt/W64-cross-compile/bin/*.exe ~/.wine/drive_c/windows/system32/ cp /opt/W64-cross-compile/lib/*.dll ~/.wine/drive_c/windows/system32/ vim gdk/win32/gdkprivate-win32.h .... search around line 300.. and add the extern expression 300 /* The singleton selection object pointer */ 301 extern GdkWin32Selection *_win32_selection; PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig ./configure --prefix=/opt/W64-cross-compile/ --host=x86_64-w64-mingw32 PKG_CONFIG_PATH=/opt/W64-cross-compile/lib/pkgconfig make make install will fail with /bin/bash: Zeile 1: ../../gtk/gtk-update-icon-cache.exe: Kann die Binärdatei nicht ausführen: Fehler im Format der Programmdatei make[3]: *** [Makefile:1673: install-update-icon-cache] Fehler 126 edit the Makefile in demos/gtk-demos and add in line the wine prefix. the same we do for /bin/bash: Zeile 1: ../../gtk/gtk-update-icon-cache.exe: Kann die Binärdatei nicht ausführen: Fehler im Format der Programmdatei make[5]: *** [Makefile:1184: install-update-icon-cache] Fehler 126 make[5]: Verzeichnis „/home/steffen/gtkcrosscompile/gtk+-3.24.0/demos/widget-factory“ wird verlassen make install cp `find -name "*.dll"` /opt/W64-cross-compile/lib/