这篇文章为什么说是新方法呢 ? 因为之前有一篇文章是通过修改 meson.build文件编译通过的, 不过上次编译dll文件,我在使用的时候会报无法定位函数的入口。这两天仔细看官网的介绍,说在windows下可以使用msys2来编译,就照着官网的说明在来一次吧, 看看这次编译出来的dll还会不会有问题。
MYSY2的官网为 https://www.msys2/
首页有Download the installer: msys2-x86_64-20210228.exe 下载地址: https://repo.msys2/distrib/x86_64/msys2-x86_64-20210228.exe
下载之后安装很顺利,默认安装到 了C:\msys64目录,启动应用后进入控制台界面, 下来的操作就和linux shell控制台一样了。
安装好MSYS2之后,需要安装mingw,具体参考 https://www.gtk/docs/installations/windows/ 上面的介绍
MSYS2会自带一个pacman的工具, 类似centOS中的yum,Ubuntu中的apt-get。
安装以下的一些基础工具:
pacman --needed --noconfirm -S meson git diffutils automake autoconf make gcc libtool unzip
pacman --needed --noconfirm -S intltool pcre-devel base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-pcre
pacman --needed --noconfirm -S mingw-w64-x86_64-gtk3
pacman --needed --noconfirm -S mingw-w64-x86_64-glade
pacman --needed --noconfirm -S mingw-w64-x86_64-python3-gobject
安装完毕后解压glib到安装目录中的 “/home/用户名/glib” 目录,执行 meson build命令
如果碰到下面的错误,请修改 meson.build 文件,把所有if host_system == 'windows' 改为 if host_system == 'windows' or host_system == 'cygwin' 或者 改为 if ['cygwin', 'windows'].contains(host_system)
subprojects/libffi/src/meson.build:71:2: ERROR: Problem encountered: Unsupported pair: system "cygwin", cpu family "x86_64"