platinum
是一个使用比较广泛的dlna
开源库,今天记录下platinum
在mac电脑上的编译过程。
首先在github
中搜索platinum
下载代码 git clone https://github.com/plutinosoft/Platinum
按照官方提示Android版本的编译步骤为
> scons target=arm-android-linux build_config=Release
> cd Source/Platform/Android/module/platinum
> ndk-build NDK_DEBUG=0
但是在编译过程中可能会碰到以下问题
1、配置ANDROID_NDK_ROOT
首先在~/.bash_profile
中配置环境变量ANDROID_NDK_ROOT
,我这里使用的ndk版本是r13b
,例如:
# Add NDK for platinum
export ANDROID_NDK_ROOT=/Users/xxx/Library/Android/ndk/android-ndk-r13b
2、 scons: command not found
执行scons target=arm-android-linux build_config=Release
可能会出现 scons: command not found
需要安装 scons
,方法brew install scons
3、arm-linux-androideabi-g++: command not found
再次执行scons target=arm-android-linux build_config=Release
提示 arm-linux-androideabi-g++: command not found
解决办法,参考https://blog.csdn.net/zangcf/article/details/42740261?locationNum=5
修改Build/Targets/arm-android-linux/Config.scons
中的
ANDROID_CROSS_PREFIX = 'arm-linux-androideabi'
为绝对路径
ANDROID_CROSS_PREFIX = os.path.join(ANDROID_NDK_ROOT,'toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi')
4、fatal error: Neptune.h: No such file or directory
再次执行scons target=arm-android-linux build_config=Release
提示fatal error: Neptune.h: No such file or directory
在ThirdParty/
目录下Neptune
目录为空,需要单独下载Neptune
git clone https://github.com/plutinosoft/Neptune.git
下载成功之后再次执行
scons target=arm-android-linux build_config=Release
如果看到
scons: done building targets.
代表成功,之后再执行下面两条命令
cd Source/Platform/Android/module/platinum`
ndk-build NDK_DEBUG=0
如果一切顺利,会在 Source/Platform/Android/module/platinum/libs
下生成libplatinum-jni.so
5、macOS 10.15可能碰到的问题
提示谨慎升级macOS 10.15
如果你已经升级了macOS10.15
,编译过程中可能还会遇到以下问题
1)brew install secons执行异常
需要升级版本 brew update
2)xcrun: error: invalid active developer path, missing xcrun
需要重装command line tools
xcode-select –install
3)ndk编译的时候 clang++、clang 无法打开
需要在terminal
执行以下命令
sudo xattr -r -d com.apple.quarantine /Users/xxx/Library/Android/ndk/android-ndk-r13b/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++
sudo xattr -r -d com.apple.quarantine /Users/xxx/Library/Android/ndk/android-ndk-r13b/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang
网友评论