当前位置: 首页 > 知识库问答 >
问题:

错误:使用未声明的标识符“VMAXQ_F16”

严景焕
2023-03-14
#include <jni.h>
#include <arm_fp16.h>
#include <arm_neon.h>

void useSIMD_f16() {
    float16_t zero = 0;
    float16x8_t zero_f16x8 = vld1q_dup_f16(&zero);
    float16_t one = 1;
    float16x8_t one_f16x8 = vld1q_dup_f16(&one);
    float16x8_t max = vmaxq_f16(zero_f16x8, one_f16x8);
}

任务“:app:ExternalNativeBuildDebug”执行失败。生成命令失败。执行进程/home/raed/android/sdk/cmake/3.10.2.4988404/bin/ninja时出错,参数为{-c/home/raed/androidstudioprojects/simd/app/.CXX/cmake/debug/armeabi-v7a native-lib}ninja:进入目录`/home/raed/androidstudioprojects/simd/app/.CXX/cmake/debug/armeabi-v7a'[1/2]生成CXX对象cmakefiles/native-lib.dir/native-lib.cpp.o失败K/NDK/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++--target=armv7-none-linux-androideabi23--gcc-toolchain=/home/raed/android/sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_6/sysroot-dnative_lib_exports-g-dandroide-f-f-g-dandroid-f-g-dandroid-f-g-danddata-sections-ffunction-sections-funwind-tables-fstack-protector-strong-no-canonical-prefixes-d_fortify_source=2-march=armv7-a-mthumb-wformat-werror=format-security-o0-fno-limit-debug-info-fpic-md-mt cmakefiles/native-lib.dir/native-lib.cpp.o-Mf cmakefiles/native-lib.dir/native-lib.cpp.o.d-o cmakefiles/native-lib.dir/native-lib.cpp.o-c/home/raed/androidstudioprojects/simd/app/src/main/cpp/native-lib.cpp/home/raed/androidstudioprojects/simd/app/src/main/cpp/native-lib.cpp:7:30:错误:使用未声明标识符'vld1q_dup_f16'^/home/raed/androidstudioprojects/simd/app/src/main/cpp/native-lib.cpp:9:29:错误:使用未声明的标识符'vld1q_dup_f16'float16x8_t one_f16x8=vld1q_dup_f16(&one);^/home/raed/androidstudioprojects/simd/app/src/main/cpp/native-lib.cpp:10:23:错误:使用未声明的标识符'vmaxq_f16'float16x8_t max=vmaxq_f16(zero_f16x8,one_f16x8);生成^3个错误。忍者:构建停止:子命令失败。

共有1个答案

姬振濂
2023-03-14

半精度浮点并不适用于所有Arm目标。检查是否定义了__arm_feature_fp16_vector_arithmetic宏,以确定函数是否可用。

难道不可能在Android上使用霓虹灯16位浮点数?

它不是一个真正的Android的东西;有些Android设备会支持它,有些则不会。这取决于CPU

 类似资料:
  • 我正在调试一个非常大的树着色项目,在该项目中,作者使用glsl文件来着色树,但我在编译glsl文件时遇到了麻烦: 以下是错误日志: 我使用mac osx,Xcode7.0,OpenGL和glut都是默认版本。Glew版本是1.13.0。 这是因为版本与作者使用的原始版本不匹配吗?因为我检查了原始版本,所以他使用了GLEW 1.9.0和GLUT 3.7.6。 //////更新/////// 原来ma

  • 所以我一直有这个错误,我不知道发生了什么。我在谷歌上搜索了一下,读了一些关于这个错误的问题,但什么都没用。我只想运行它,这样我就可以完成我的项目。 错误:开始低库存;结束;*第1行错误:ORA-06550:第1行,第9列:PLS-00201:标识符“LOWINVENTORY”必须声明ORA-06550:第1行,第7列:PL/SQL:忽略语句 编辑: 表创建:

  • 这是我成功的存储过程 这是首先生成表的调用 最初,我试图用一些预定义的参数调用存储过程。 这导致错误“PLS-00201:标识符'B100'必须声明” 我是PL/SQL的新手,很难解决这个问题。我尝试添加DECLARE语句 这仍然会导致错误“PLS-00201:必须声明标识符‘B100’”,但它表示“PL/SQL:忽略语句”,然后表示“PLS-00201:必须声明标识符‘Steve’” 进一步挖掘

  • 问题内容: 我收到此错误消息,说我没有使用变量……但是在我的菜鸟眼中,看起来我在: 谁能指出我对语言的缺失?我认为这与vs 和作用域有关,但我不确定。 问题答案: 在您的for循环声明了一个新的变量,其阴影外。将其变成平原以解决问题。 顺便说一下,为了获得相同的精度和更快的速度,您可以尝试以下实现,该实现一次执行两个步骤:

  • 问题内容: 操作系统:Ubuntu 16.04 Swift版本:3.0预览版6 我正在关注这个入门页面 在 在 我收到错误 问题答案: 在Swift 3.0中将进程更改为CommandLine 尝试替换为 这是更改它的提交的链接: 将进程重命名为CommandLine [SE-0086]。

  • 为什么会出现这个错误?如果变量声明与列的类型相同,则不应该这样做。nursing_unit_id是varchar2(10)。当ID是NUMBER时,它对我来说是这样工作的; 我得到的错误:错误报告-ORA-06550:第13行,第13列:PLS-00201:必须声明标识符“ISS”