二 移植和编译mscore-0.9.3
要成功编译,必须下载编译alsa-lib,因为该工程中调用alsa-lib的头文件,从官方网站上下载。解压后不要编译,否则会安装在主机上,我们最终是要运行在嵌入式linux上的,这里把源码中的头文件包含到mscore的编译路径中,然后交叉编译alsa-lib,得到libasound.so库文件,放到arm-linux-gcc的安装目录的lib中,交叉编译alsa-lib的脚本:
CC=arm-linux-gcc
./configure -prefix="/usr/local/arm/3.4.1/arm-linux" --host=arm-linux --target=arm-linux –build=i386-linux
注意:不能有 --with-softfloat,不支持浮点运算,否则编译出错。
关于make的几个选项的理解:
LDSHARED= CC_FOR_BUILD="arm-linux-gcc" CC="arm-linux-gcc" LD="arm-linux-ld" CPP="arm-linux-g++ -E" AR="arm-linux-ar rc" prefix="/usr/local/arm/3.4.1" CFLAGS="-fPIC"
其中,LD选项表示最后连接的时候,采用哪个版本的连接器。交叉编译中如果只指定了arm-linux-gcc,那么最后仍然使用主机ld,就会出现.o文件格式无法识别的问题。
然后编译mscore-0.9.3,因为该项目用到了cmake,必须在