如何在ARM上编译neon

如何在ARM上编译neon,arm,cross-compiling,gnu,Arm,Cross Compiling,Gnu,我用了 arm-linux-gnueabi-g++test.cpp-march=armv7-a-mfloat-abi=softfp-mfpu=neon-o测试 在ubantu上得到一个特别的文件在ARM上但是当我跑的时候 adb push ./test /data/test adb shell cd data chmod 777 test ./test 我得到了以下错误: ./system/bin/sh: ./test: No such file or directory 我对此感到困惑。

我用了

arm-linux-gnueabi-g++test.cpp-march=armv7-a-mfloat-abi=softfp-mfpu=neon-o测试

在ubantu上得到一个特别的文件在ARM上但是当我跑的时候

adb push ./test /data/test
adb shell
cd data
chmod 777 test
./test
我得到了以下错误:

./system/bin/sh: ./test: No such file or directory

我对此感到困惑。

如果您打算在Android上运行可执行文件(看起来),最好使用Android NDK构建它。问题是,您的可执行文件链接到glibc,它在普通linux系统上可用,但在Android系统上不可用。(具体而言,可执行文件无法启动,因为它需要动态链接器
/lib/ld linux.so.3
,而Android上不提供该链接器。此外,它还需要
libc.so.6
格式的glibc)

如果您使用Android NDK构建可执行文件,它将链接到仿生libc,这是Android上可用的


或者,如果您在链接时添加
-static
(在您的情况下,在单个compile+link命令中),您将得到一个静态可执行文件,该文件应该可以在普通linux和Android上运行。

任何不同的地方?如果答案有效并回答了您的问题,您也应该接受它。