musescore 4.0 的模块化设计 明显

musescore 4.0编译_插入图片


每一个文件下面大部份会形成一个.a的库

在这里插入图片描述

musescore 4.0编译_ios_02


appsehll 模块

musescore 4.0编译_musescore编译_03


appsehll 看得出来是 appsehll 负责加载下面全部子模块的,

字体模块和绘画模块是显示五线谱 重要模块, 五线谱的音符就 一个字体的字。

musescore 4.0编译_ios_04


musescore 4.0编译_ios_05


kDDockwidgets 这个是一个多窗体的库, 窗体可以自由移动。

musescore 4.0编译_多模块_06


MuseScore4.exe 是可以运行的文件,但是光这个文件是无法运行的,外部是有环境的,在开头有

musescore 4.0编译_ios_07


musescore 4.0编译_ios_08


musescore 4.0编译_ios_09


虽然每个模块都独立的,但是musescore 的模块并不是独立的,模块之间都是有依赖关系统的,

4.0的下面是一个module.cmake 文件,有很多模块都是通过这个文件构建成库的

musescore 4.0编译_ios_10


musescore 4.0编译_ios_11


musescore 4.0编译_插入图片_12


pch 是一个全局性文件, 3.0 是all.h 和all.cpp4.0

musescore 4.0编译_插入图片_13

pch.h

能明显看得出来区别

4.0 依然不支持mac os m1 也就是不支持 arm64 . 如果有移植到ios android 只能想别的方法了