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 的 Windows 上构建 GTK+3 程序?
如何在 Windows 7+ 和 MSYS2 上的 GTK3 上获取本机 Windows 装饰
如何使用 MSYS2 在 Windows 上安装 GTK3 和 minGW