如何解决如何通过clangndk20 +交叉编译valgrind
当我通过ndk20 clang与官方自述文件交叉编译valgrind时,出现以下错误。 步: (1)
export NDKROOT=/data/Env/DevEnv/NDK/android-ndk-r20
(2)
export AR=$NDKROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar
export LD=$NDKROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ld
export CC=$NDKROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang
export CXX=$NDKROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang++
(3)
./autogen.sh
(4)
CPPFLAGS="--sysroot=$NDKROOT/platforms/android-28/arch-arm64" \
CFLAGS="--sysroot=$NDKROOT/platforms/android-28/arch-arm64" \
./configure --prefix=/data/local/Inst \
--host=aarch64-unknown-linux --target=aarch64-unknown-linux \
--with-tmpdir=/sdcard
然后我遇到了错误:
checking for /NDK/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang option to accept ISO C99... unsupported
configure: error: Valgrind relies on a C compiler supporting C99
但是我可以交叉编译像这样的简单代码:
$ vim test.c
$ clang -std=c99 test.c -o test
$ ./test
hello c99
$ export NDKROOT=/data/Env/DevEnv/NDK/android-ndk-r20
$ export CC=$NDKROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang
$CC -std=c99 test.c -o test
$ ./test
bash: ./test: cannot execute binary file: Exec format error
如果外壳代码被压缩掉了,那么下一步我会出错。
(5)
make -j4
错误:
../include/pub_tool_libcsetjmp.h:53:10: fatal error: 'setjmp.h' file not found
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。