【发布时间】:2013-02-28 08:48:19
【问题描述】:
在 ubuntu 12.04 上使用 ndk-r6 或 ndk-r8d 构建 valgrind-3.8.1 失败并出现以下错误:
...
cc1: Error: not rekognized option "-marm"
priv/main_globals.c:1:0: Error: wrong Value (cortex-a8) for -mtune=switch
...
我的构建脚本:
export NDKROOT=/home/stefan/android-ndk-r6-crystax-2
export HWKIND=generic
PATH=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH
PATH=$PATH:$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/libexec/gcc/arm-linux-androideabi/4.4.3
export CROSS_COMPILE=arm-linux-androideabi-
export AR=${CROSS_COMPLIE}ar
export LD=${CROSS_COMPLIE}ld
export CC=${CROSS_COMPLIE}gcc
export CXX=${CROSS_COMPLIE}g++
export CPP=${CROSS_COMPLIE}cpp
./autogen.sh CPPFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm -DANDROID_HARDWARE_$HWKIND" CFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm"
./configure --prefix=/data/local/Inst --host=armv7-unknown-linux --target=armv7-unknown-linux --with-tmpdir=/tmp
最后
make
:)
有什么想法吗?谢谢
我也接受构建的二进制文件;))
【问题讨论】:
-
在 Android 源代码树中有一个可用于 Valgrind 的 Android.mk。参见例如android.googlesource.com/platform/external/valgrind/+/master/…
-
酷,我去看看! :)
-
hmm.. 但实际上如何编译这个?放入jni文件夹?这样,在 Android.mk 中没有定义包含路径并且构建失败:(
-
我已经能够为 android 构建 valgrind。如果您需要工作二进制文件,请告诉我。顺便说一句,它也应该适用于非 root 设备。
标签: android android-ndk valgrind