使用cmake交叉编译arm平台so
众所周知,androidStudio可以编译apk及so,具体配置此处不一一介绍,但对于需要经常编译不同项目的小编来说,太过重量级了,假如在编译系统下并没有as环境,还需要重新配置,过于麻烦。
对于需要编译运行于手机平台的动态库的C++选手来说,如何最简化配置环境呐?
如果我们直接编写CMakeLists然后构建再make,会发现依赖的一些arm平台库无法使用!我们需要模拟as帮助我们做的事。
编译脚本如下:
declare -r BUILD_DIR="build"
function mkdir_or_clean()
{
if [ -d "$1" ]; then
rm -rf $1/*
else
mkdir $1
fi
}
mkdir_or_clean $BUILD_DIR;
cd $BUILD_DIR;
cmake \
-DANDROID_ABI=arm64-v8a \
-DANDROID_PLATFORM=android-21 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-std=c++14 \
-DANDROID_STL=c++_shared \
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \
..
make -j32
``
参考链接:
1. https://www.likecs.com/show-203898479.html
2. https://www.jianshu.com/p/2e2cca3757dc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)