当前位置: 首页> 财经> 访谈 > 宿迁市宿城区二手房最新消息_公众号涨粉_市场调研报告内容_市场营销推广方案怎么做

宿迁市宿城区二手房最新消息_公众号涨粉_市场调研报告内容_市场营销推广方案怎么做

时间:2025/7/17 14:18:20来源:https://blog.csdn.net/wolf0706/article/details/143226251 浏览次数:0次
宿迁市宿城区二手房最新消息_公众号涨粉_市场调研报告内容_市场营销推广方案怎么做
  1. 下载代码
    https://github.com/lemenkov/libyuv/

  2. 环境变量配置NDK地址

  3. 修改Android.mk文件,删除jpeg和test

  4. 新建application.mk

    #APP_ABI是用于指定编译哪个平台的库 , 可以写多个 用空格隔开 (libyuv默认吧所有平台都编了) 
    APP_ABI := arm64-v8a#APP_PLATFORM为指定android平台版本 差不多相当于SDK里面的targetSDKVersion
    APP_PLATFORM := android-23
  5. 进入下载目录,执行ndk-build

    Android NDK: Could not find application project directory !
    Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
    D:\sdk\ndk\21.4.7075529\build\\..\build\core\build-local.mk:151: *** Android NDK: Aborting    .  Stop.
    

    如上错误需要新建jni文件夹,source、jni、Android.mk、application.mk复制到jni,在jni目录下执行

  6. 下面错误需要启用对ARMv8.2-A架构的编译器支持,在Android.mk添加

    LOCAL_CFLAGS += -march=armv8.2-a+dotprod
    
    [arm64-v8a] Compile++      : yuv_static <= compare.cc
    [arm64-v8a] Compile++      : yuv_static <= compare_common.cc
    [arm64-v8a] Compile++      : yuv_static <= compare_gcc.cc
    [arm64-v8a] Compile++      : yuv_static <= compare_msa.cc
    [arm64-v8a] Compile++      : yuv_static <= compare_neon.cc
    [arm64-v8a] Compile++      : yuv_static <= compare_neon64.cc
    C:/Users/Desktop/libyuv-main/jni/source/compare_neon64.cc:175:8: error: instruction requires: dotprod"udot        v4.4s, v0.16b, v6.16b         \n"^
    <inline asm>:14:1: note: instantiated into assembly here
    udot        v4.4s, v0.16b, v6.16b
    ^
    C:/Users/Desktop/libyuv-main/jni/source/compare_neon64.cc:176:8: error: instruction requires: dotprod"udot        v5.4s, v1.16b, v6.16b         \n"^
    <inline asm>:15:1: note: instantiated into assembly here
    udot        v5.4s, v1.16b, v6.16b
    ^
    C:/Users/Desktop/libyuv-main/jni/source/compare_neon64.cc:204:8: error: instruction requires: dotprod"udot        v4.4s, v0.16b, v0.16b         \n"^
    <inline asm>:10:1: note: instantiated into assembly here
    udot        v4.4s, v0.16b, v0.16b
    ^
    C:/Users/Desktop/libyuv-main/jni/source/compare_neon64.cc:205:8: error: instruction requires: dotprod"udot        v5.4s, v1.16b, v1.16b         \n"^
    <inline asm>:11:1: note: instantiated into assembly here
    udot        v5.4s, v1.16b, v1.16b
    ^
    4 errors generated.
    
  7. 下面错误需要升级NDK版本>22

    C:/Users/Desktop/libyuv-main/jni/source/row_neon64.cc:2780:8: error: unrecognized instruction mnemonic, did you mean: sdot, udot?                                                                                                    "usdot       v2.4s, v0.16b, v16.16b        \n"                                                                       ^                                                                                                                   
    <inline asm>:9:1: note: instantiated into assembly here                                                                    
    usdot       v2.4s, v0.16b, v16.16b                                                                                         
    ^                                                                                                                          
    C:/Users/Desktop/libyuv-main/jni/source/row_neon64.cc:2781:8: error: unrecognized instruction mnemonic, did you mean: sdot, udot?                                                                                                    "usdot       v3.4s, v1.16b, v16.16b        \n"                                                                       ^                                                                                                                   
    <inline asm>:10:1: note: instantiated into assembly here                                                                   
    usdot       v3.4s, v1.16b, v16.16b                                                                                         
    ^                                                                                                                          
    C:/Users/Desktop/libyuv-main/jni/source/row_neon64.cc:2782:8: error: unrecognized instruction mnemonic, did you mean: sdot, udot?                                                                                                    "usdot       v4.4s, v0.16b, v17.16b        \n"                                                                       ^                                                                                                                   
    <inline asm>:11:1: note: instantiated into assembly here                                                                   
    usdot       v4.4s, v0.16b, v17.16b                                                                                         
    
  8. 编译动态库出错,需要在Android.mk添加定义宏DLIBYUV_DISABLE_SVE

    ld: error: undefined symbol: AYUVToUVRow_SVE2
    >>> referenced by convert.cc:1790 (source/convert.cc:1790)
    >>>               C:/Users/Desktop/libyuv-main/obj/local/arm64-v8a/objs/yuv_library/source/convert.o:(AYUVToNV12)
    >>> referenced by convert.cc:1790 (source/convert.cc:1790)
    >>>               C:/Users/Desktop/libyuv-main/obj/local/arm64-v8a/objs/yuv_library/source/convert.o:(AYUVToNV12)
    >>> referenced by row_any.cc:2482 (source/row_any.cc:2482)
    >>>               C:/Users/Desktop/libyuv-main/obj/local/arm64-v8a/objs/yuv_library/source/row_any.o:(AYUVToUVRow_Any_SVE2)
    >>> referenced 1 more timesld: error: undefined symbol: AYUVToVURow_SVE2
    >>> referenced by convert.cc:1867 (source/convert.cc:1867)
    >>>               C:/Users/Desktop/libyuv-main/obj/local/arm64-v8a/objs/yuv_library/source/convert.o:(AYUVToNV21)
    >>> referenced by convert.cc:1867 (source/convert.cc:1867)
    >>>               C:/Users/Desktop/libyuv-main/obj/local/arm64-v8a/objs/yuv_library/source/convert.o:(AYUVToNV21)
    >>> referenced by row_any.cc:2485 (source/row_any.cc:2485)
    >>>               C:/Users/Desktop/libyuv-main/obj/local/arm64-v8a/objs/yuv_library/source/row_any.o:(AYUVToVURow_Any_SVE2)
    >>> referenced 1 more times
    
  9. 完整Android.mk

    # This is the Android makefile for libyuv for NDK.
    LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_CPP_EXTENSION := .ccLOCAL_SRC_FILES := \source/compare.cc           \source/compare_common.cc    \source/compare_gcc.cc       \source/compare_msa.cc       \source/compare_neon.cc      \source/compare_neon64.cc    \source/compare_win.cc       \source/convert.cc           \source/convert_argb.cc      \source/convert_from.cc      \source/convert_from_argb.cc \source/convert_to_argb.cc   \source/convert_to_i420.cc   \source/cpu_id.cc            \source/planar_functions.cc  \source/rotate.cc            \source/rotate_any.cc        \source/rotate_argb.cc       \source/rotate_common.cc     \source/rotate_gcc.cc        \source/rotate_msa.cc        \source/rotate_neon.cc       \source/rotate_neon64.cc     \source/rotate_win.cc        \source/row_any.cc           \source/row_common.cc        \source/row_gcc.cc           \source/row_msa.cc           \source/row_neon.cc          \source/row_neon64.cc        \source/row_win.cc           \source/scale.cc             \source/scale_any.cc         \source/scale_argb.cc        \source/scale_common.cc      \source/scale_gcc.cc         \source/scale_msa.cc         \source/scale_neon.cc        \source/scale_neon64.cc      \source/scale_rgb.cc         \source/scale_uv.cc          \source/scale_win.cc         \source/video_common.cccommon_CFLAGS := -Wall -fexceptions -march=armv8.4-a+dotprod+i8mm -DLIBYUV_DISABLE_SVE=1LOCAL_CFLAGS += $(common_CFLAGS)
    LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
    LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
    LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/includeLOCAL_MODULE := libyuv_library
    LOCAL_MODULE_TAGS := optionalinclude $(BUILD_SHARED_LIBRARY)
    
关键字:宿迁市宿城区二手房最新消息_公众号涨粉_市场调研报告内容_市场营销推广方案怎么做

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: