msys2下gtk或qt程序的打包

Posted 乌托邦2号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了msys2下gtk或qt程序的打包相关的知识,希望对你有一定的参考价值。

(1)编译x64的程序,从win10的开始菜单中打开MSYS2 MinGW x64命令行,使用cd命令切换到二进制程序exe所在目录。  

(2)执行如下命令,最后一个参数是当前文件存放dll,可以自定义一个新的文件夹,拷贝起来方便。

ldd.exe virt-viewer.exe | grep mingw64 |awk -F\\> 'print $2' | awk -F' ' 'print $1' | xargs -I  cp  ./ 

(3)在当前目录下分别创建 etc/gtk-3.0, share/icons, share/themes, lib 路径

     可以将可执行程序virt-viewer.exe和上述中拷贝的dll依赖库放在当前目录下,也可以存放在当前目录的bin目录下。
 /mingw64/share/icons/Adwaita, hicolor 拷贝到./share/icons
/mingw64/lib/gdk-pixbuf-2.0拷贝到./lib/

若不拷贝 lib/gdk-pixbuf-2.0 导致 Unrecognized image file format (gdk-pixbuf-error-quark, 3)
自己选个主题拷到 share/themes
创建 etc/gtk-3.0/settings.ini 文件,内容模板如下:

[Settings]
#gtk-application-prefer-dark-theme = false
gtk-theme-name=Adapta-FrostBlue2
#gtk-icon-theme-name=Tela
gtk-font-name=Noto Sans CJK 12

(4)若发现可执行程序exe闪退或无法执行

可以在cmd中执行,查看错误信息。也可以打开depends.exe,查看依赖关系时候正常。

(5)参考:

https://www.gtk.org/docs/installations/windows/
https://sourceforge.net/p/mingw-w64/discussion/723797/thread/3b2fa3c3/
https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/159

以上是关于msys2下gtk或qt程序的打包的主要内容,如果未能解决你的问题,请参考以下文章

msys2下gtk或qt程序的打包

如何在没有 MSYS2 的 Windows 上构建 GTK+3 程序?

如何在 Windows 7+ 和 MSYS2 上的 GTK3 上获取本机 Windows 装饰

如何使用 MSYS2 在 Windows 上安装 GTK3 和 minGW

使用 PyInstaller 在 MSYS2/MinGW 中编译 GTK 软件的问题

go GTK msys2