您当前的位置: 首页 >  ar

全网首发:编译Android doubango时,armv7-a编译不出来的解决办法

柳鲲鹏 发布时间:2020-03-14 16:03:10 ,浏览量:0

  今天编译Android doubango,arm64顺利编译出来了,可是armv7-a/armv7-a-neon死活不出来。难道是NDK问题?吾换了多个NDK,依然不行。看来不是这个问题。

  仔细观察输出信息:

Toolchain installed to /home/quantum6/nanjing/doubango/my-android-toolchain-android-armv7-a.
checking for arm-linux-androideabi-gcc... /home/quantum6/nanjing/doubango/my-android-toolchain-android-armv7-a/bin/arm-linux-androideabi-gcc
checking whether the C compiler works... no

  一查,目录下只有my-android-toolchain-android-arm64,没有armv7-a。说明了什么?说明哪里出错了,没有找到交叉编译链。问题出在哪里?应该是出在NDK版本上,新版本实际上不支持此类编译了。怎么解决呢?吾检查configure,发现以下内容:

		arm64)
			export ANDROID_PREFIX=aarch64-linux-android
			export SYSROOT=$NDK/platforms/android-21/arch-arm64
			export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-arm64
    			$NDK/build/tools/make-standalone-toolchain.sh --arch=arm64 --platform=android-21 --install-dir=$ANDROID_TOOLCHAIN
			export CFLAGS='-DANDROID=1 -D__ARMEL__'
			TARGET_ARCH="arm"

		;;
		armv7-a)
			export ANDROID_PREFIX=arm-linux-androideabi
			export SYSROOT=$NDK/platforms/android-3/arch-arm
			export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-armv7-a
    			$NDK/build/tools/make-standalone-toolchain.sh --platform=android-3 --arch=arm --install-dir=$ANDROID_TOOLCHAIN
    			export CFLAGS='-march=armv7-a -mfloat-abi=softfp -DANDROID=1 -D__ARMEL__'
    			export LDFLAGS='-Wl,--fix-cortex-a8'
			TARGET_ARCH="arm"

  大哥什么时代了,还android-3?configure是autogen.sh产生的。这个咱就有解决办法了:

打开configure.ac,把android-3修改为android-19。再次运行.autogen.sh进行编译即可。

  吾已将此修改上传到开源库。

https://github.com/quantum6/doubango-quantum6

关注
打赏
1688896170
查看更多评论

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4641博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0826s