musecore 主要用qt 开发
系统架构图
音频系统图
qt 有ios 和android 两个移动端的移植能力
第一步肯定是解决构建的影响
先在pc 上面的系统上构建
window 上面最多外加一个依赖库
构建有解决依赖包的问题
上面r的是windows 的库文件
在andorid 上面是so …a
android 生成的库格式
有了依赖包,还不能完全把 MuseScore装进移动端
MuseScore目前都是用 cmake 构建
有关构建方式有查看 cmake ,修cmake
https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-android
构建主要文件
根目录下面的 cmakelists.txt 相当 c 语言的main 文件,
这个地方有修依赖项
include(FindSndFile)
有手工换成android 的库文件
主要有头文件 库文件
MuseScore 开源方案主要linux mac windows ,
在getrplatforminfo .make 有修成 移动端的系统
if(
C
M
A
K
E
C
X
X
C
O
M
P
I
L
E
R
M
A
T
C
H
E
S
"
/
e
m
+
+
(
−
[
a
−
z
A
−
Z
0
−
9.
]
)
?
{CMAKE_CXX_COMPILER} MATCHES "/em\\+\\+(-[a-zA-Z0-9.])?
CMAKECXXCOMPILERMATCHES"/em++(−[a−zA−Z0−9.])?")
set(OS_IS_WASM 1)
elseif(
C
M
A
K
E
H
O
S
T
S
Y
S
T
E
M
N
A
M
E
M
A
T
C
H
E
S
"
W
i
n
d
o
w
s
"
)
s
e
t
(
O
S
I
S
W
I
N
1
)
e
l
s
e
i
f
(
{CMAKE_HOST_SYSTEM_NAME} MATCHES "Windows") set(OS_IS_WIN 1) elseif(
CMAKEHOSTSYSTEMNAMEMATCHES"Windows")set(OSISWIN1)elseif({CMAKE_HOST_SYSTEM_NAME} MATCHES “Linux”)
set(OS_IS_LIN 1)
elseif(${CMAKE_HOST_SYSTEM_NAME} MATCHES “Darwin”)
set(OS_IS_MAC 1)
OS_IS_WASM 是网站了
每个系统 有区别,
这里CMAKE_HOST_SYSTEM_NAME 就是目标操作 系统 , 修成 ANDROID 和IOS的系统
之后就完成构建了
注意 图形系统 会有区别,有处理,之后就 是资源 和小部份修,就能运行 ios 和android 上面了