1、安装meson
pip install meson
确认是否安装成功,命令行输入:
meson --version
0.60.0
2,安装ninja
先下载ninja:Releases · ninja-build/ninja · GitHub
加压后,把ninja.exe所在目录加入环境变量
确认是否安装成功:
>ninja --version
1.8.2
3,下载glib源码
https://mirrors.ustc.edu.cn/gnome/sources/glib/2.75/glib-2.75.0.tar.xz
4 ,编译错误
安装过程中会出现一下错误
Downloading pcre2 patch from https://wrapdb.mesonbuild.com/v2/pcre2_10.40-3/get_patch
WARNING: failed to download with error: WrapDB connection failed to https://wrapdb.mesonbuild.com/v2/pcre2_10.40-3/get_patch with error <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:992)>.. Trying after a delay...
碰到这类错误,下载这个文件https://wrapdb.mesonbuild.com/v2/pcre2_10.40-3/get_patch
拷贝到glib-2.75.0/subprojects/packagecache下面,重新启动meson 即可
5,编译选项
32位的时候要用:x86 Native Tools Command Prompt for VS 2019
64位的时候要使用:x64 Native Tools Command Prompt for VS 2019
debug版静态:
meson .. --buildtype=debug --backend=vs2019 -Ddefault_library=static -Db_vscrt=mtd -Dgtk_doc=false -Dman=false -Dtests=false
debug版动态:
meson .. --buildtype=debug --backend=vs2019 -Ddefault_library=static -Db_vscrt=mdd -Dgtk_doc=false -Dman=false -Dtests=false
release版静态:
meson .. --buildtype=release --backend=vs2019 -Ddefault_library=static -Db_vscrt=mt -Dgtk_doc=false -Dman=false -Dtests=false
release版动态:
meson .. --buildtype=release --backend=vs2019 -Ddefault_library=static -Db_vscrt=md -Dgtk_doc=false -Dman=false -Dtests=false
6,模块对于 SAFESEH 映像是不安全的。
在工程->属性->链接器->命令行
/SAFESEH:NO