编译aarch64android,请问aarch64-linux-android-clang++ 支持neon 指令集编译吗?

Hi

请问aarch64-linux-android-clang++ 支持neon 指令集编译吗?用neon指令集 写了一个算法, 相同的代码用aarch64-linux-android-gcc 可以编译过,aarch64-linux-android-clang++ 一直出错:

pengfei@ubuntu:/mnt/hgfs/share/test$ make

aarch64-linux-android-clang++   ./cost_accumulation.s ./case_cost_accumulation.c  -o case_cost_accumulation

clang50++: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]

/tmp/case_cost_accumulation-23c6f2.o: In function `main':

./case_cost_accumulation.c:(.text+0x334): undefined reference to `asm_cost_accumulation(unsigned long, unsigned long, unsigned short*, unsigned short*, unsigned short*, unsigned short*, unsigned short*, unsigned short*)'

clang50++: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [case_cost_accumulation] Error 1

sm_cost_accumulation()函数使用neon指令集编写的,clang++一直提示找不到该函数,怀疑是clang++不支持neon指令, gcc下是可以编译过的

编译 JDK16 需要使用比较强大的机器和耐心,整个编译过程可能需要数小时或数天的时间。以下是使用 `aarch64-linux-android23-clang` 工具链编译 JDK16 的详细步骤: 1. 下载和安装 Android NDK 在官网上下载并安装 Android NDK,安装完成后设置环境变量 `ANDROID_NDK_HOME`,指向 NDK 的安装目录。 2. 下载和解压 JDK16 源码 在官网上下载并解压 JDK16 的源代码包,进入解压后的目录。 3. 配置编译环境 进入 `make` 目录,执行以下命令来生成编译环境的配置文件: ``` bash configure \ --with-boot-jdk=$JAVA_HOME \ --with-toolchain-type=clang \ --openjdk-target=aarch64-linux-android \ --with-cxx-compiler=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android23-clang++ \ --with-cc=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android23-clang \ --with-debug-level=slowdebug \ --disable-warnings-as-errors ``` 其中,`$JAVA_HOME` 为你本地已经安装的 JDK 路径。 4. 编译 执行以下命令进行编译: ``` make images ``` 如果编译过程中出现错误,可以尝试执行以下命令进行清理和重新编译: ``` make clean make images ``` 5. 安装 编译完成后,在 `build/images/jdk` 目录下会生成可执行文件和库文件。将这些文件拷贝到目标设备上,并设置相应的环境变量即可使用。 以上是使用 `aarch64-linux-android23-clang` 工具链编译 JDK16 的大致步骤,具体细节需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值