如何使用OpenCL和fastcv构建可执行的ARM64-V8程序,以便在Android上运行?

时间:2017-02-18 10:24:12

标签: android opencl arm64 fastcv

我想在Android上运行的 arm64-v8a 中构建一个C ++程序,该程序使用OpenCL和fastCV。当我使用 armv7-a 架构时,我可以编译并运行良好。 如果你知道怎么弄明白,请帮帮我

Application.mk:

APP_CPPFLAGS = -frtti -fexceptions
APP_ABI:= armeabi-v7a-hard
APP_STL:=gnustl_static

Android.mk:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libOpenCL32
LOCAL_SRC_FILES := ./prelibs/libs32/libOpenCL.so 
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libfastcvopt32
LOCAL_SRC_FILES := ./prelibs/libs32/libfastcvopt.so 
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
MY_SRC_LIST += $(wildcard ./*.cpp)
LOCAL_C_INCLUDES += ./
LOCAL_SRC_FILES += $(MY_SRC_LIST)

LOCAL_CPP_EXTENSION := .cxx .cpp .cc    
LOCAL_CPPFLAGS += -DSUPPORT_OMP -march=armv7-a -mfloat-abi=hard -mfpu=neon -fopenmp -fexceptions -fpermissive -Wno-literal-suffix -Wl,--no-as-needed -std=c++11 -O3 -Wl,  -hash-style=sysv
LOCAL_LDLIBS += -L./libs32
LOCAL_LDLIBS += -lm -lz -lc -llog -pie -fPIE  -fopenmp 
LOCAL_MODULE := testQcom
LOCAL_SHARED_LIBRARIES += libOpenCL32 libfastcvopt32 
include $(BUILD_EXECUTABLE)

当我使用像这样的.mk编译源代码时,一切正常,程序运行良好。但是当我想在 arm64-v8a 中编译程序时,会发生错误。

arm64-v8a Application.mk:

APP_CPPFLAGS = -frtti -fexceptions
APP_ABI:= arm64-v8a 
APP_STL:=gnustl_static

arm64-v8a Android.mk:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libOpenCL64
LOCAL_SRC_FILES := ./prelibs/libs64/libOpenCL.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libfastcvopt64
LOCAL_SRC_FILES := ./prelibs/libs64/libfastcvopt.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
MY_SRC_LIST += $(wildcard ./*.cpp)
LOCAL_C_INCLUDES += ./
LOCAL_SRC_FILES += $(MY_SRC_LIST)

LOCAL_CPP_EXTENSION := .cxx .cpp .cc    
LOCAL_CPPFLAGS += -DSUPPORT_OMP -march=armv8-a -fopenmp -fexceptions -fpermissive -Wno-literal-suffix -Wl,--no-as-needed -std=c++11 -O3 -Wl,  -hash-style=sysv
LOCAL_LDLIBS += -L./libs64
LOCAL_LDLIBS += -lm -lz -lc -llog -pie -fPIE  -fopenmp 
LOCAL_MODULE := testQcom
LOCAL_SHARED_LIBRARIES += libOpenCL64 libfastcvopt64 
include $(BUILD_EXECUTABLE)

错误是:

  

[arm64-v8a]可执行文件:testQcom   /home/liliming/Android/NDK/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/ .. /../../../aarch64-linux-android/bin/ld:警告:libgsl.so,需要.//obj/local/arm64-v8a/libOpenCL.so,找不到(尝试使用-rpath或-rpath-link)   /home/liliming/Android/NDK/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/ .. /../../../aarch64-linux-android/bin/ld:警告:libCB.so,需要.//obj/local/arm64-v8a/libOpenCL.so,未找到(尝试使用-rpath或-rpath-link)   /home/liliming/Android/NDK/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/ .. /../../../aarch64-linux-android/bin/ld:警告:libcutils.so,需要.//obj/local/arm64-v8a/libOpenCL.so,找不到(尝试使用-rpath或-rpath-link)   /home/liliming/Android/NDK/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/ .. /../../../aarch64-linux-android/bin/ld:警告:libc ++。所以,需要.//obj/local/arm64-v8a/libOpenCL.so,找不到(尝试使用-rpath或-rpath-link)   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_end_perf_monitor_qcom' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_write_buffer'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_release_device' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to sleep @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_wait_for_events' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_migrate_mem_objects'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对exp@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_set_command_queue_property'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:nine cb_get_platform_ids' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to open @ LIBC'   .//obj/local/arm64-v8a/libOpenCL.so: cb_enqueue_native_kernel' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to pthread_mutex_init @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_enqueue_unmap_mem_object' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to memcmp @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_get_pipe_info' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_read_buffer'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_release_gl_objects' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to __ cxa_atexit @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_release_perf_monitor_qcom' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_fill_buffer'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_create_program_with_binary' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to os_strncmp'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_platform_info' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to的未定义引用cb_get_gl_texture_info'   .//obj/local/arm64-v8a/libOpenCL.so:对cb_retain_device' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to g_alogDebugMask'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so: sin@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to dlopen @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_write_buffer_rect' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_sub_devices'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_release_mem_object' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_svm_mem_fill'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_acquire_egl_objects_khr' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_release_context'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对__stack_chk_guard@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_set_mem_object_destructor_callback'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_enqueue_barrier' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to sysconf @LIBC'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so: atan@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_copy_buffer'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: strlen@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to dlerror @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_create_image3d' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_perf_monitor_qcom'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_unload_compiler' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_retain_context'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_retain_program' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_read_buffer_rect'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so: puts@LIBC' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to strlcpy @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_kernel_arg_info' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to __ register_atfork @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_create_sub_buffer' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_get_kernel_info'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: get_panel_settings' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to cos @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对os_alog' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_build_program'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_create_pipe' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_marker'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_marker_with_wait_list' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_get_sync_obj_from_cl_event_qcom'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:nurfined cb_enqueue_svm_free' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to strtoul @LIBC'   .//obj/local/arm64-v8a/libOpenCL.so:对cb_retain_sampler' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_x_nd_range_kernel_qcom'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_copy_image_to_buffer' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to的未定义引用cb_get_supported_image_formats'   .//obj/local/arm64-v8a/libfastcvopt.so:对fclose@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_get_program_build_info'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: atoi@LIBC' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to strtol @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对dlsym@LIBC' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to __ errno @LIBC'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对pthread_mutex_destroy@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_buffer'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对fread@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to的未定义引用cb_create_buffer_from_image_qcom'   .//obj/local/arm64-v8a/libOpenCL.so:未定义引用cb_get_gl_context_info_khr' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to acosf @LIBC'   .//obj/local/arm64-v8a/libfastcvopt.so:对tan@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_retain_perf_monitor_qcom'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_create_program_with_builtinkernels' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to pthread_once @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:未明确引用cb_enqueue_write_image' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to关闭@LIBC'   .//obj/local/arm64-v8a/libOpenCL.so: cb_enqueue_nd_range_kernel' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to snprintf @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_create_command_queue_with_properties' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to dlclose @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_create_from_gl_texture3d' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to的未定义引用cb_create_from_egl_image_img'   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_read_perf_monitor_qcom' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_copy_buffer_to_image'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_enqueue_task' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to pthread_detach @LIBC'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so: ftell@LIBC' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to atan2 @LIBC'未定义的引用   .//obj/local/arm64-v8a/libfastcvopt.so:对strlcat@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_release_kernel'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_retain_mem_object' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to pclose @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_mem_object_info' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_get_event_profiling_info'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_set_event_callback' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to gettimeofday @LIBC'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对strnlen@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_map_buffer'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_event_info' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_from_gl_renderbuffer'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_create_from_gl_texture2d' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_get_command_queue_info'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_svm_alloc' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to __ signbitf @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_read_image' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to printf @LIBC'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对pthread_mutex_lock@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_image'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_kernel_work_group_info' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_kernels_in_program'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_perf_monitor_info_qcom' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_get_gl_object_info'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so: fopen@LIBC' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to strcmp @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_common_unlock_global_mutex' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_compile_program'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: memcpy@LIBC' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to pthread_create @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_enqueue_svm_memcpy' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to cosf @LIBC'未定义的引用   .//obj/local/arm64-v8a/libfastcvopt.so:对memset@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_retain_command_queue'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: __stack_chk_fail@LIBC' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to免费@LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_finish' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_event_wait_for_submission_qcom'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对memchr@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_copy_buffer_rect'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对vsnprintf@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_set_perf_hint_qcom'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_device_ids' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_set_kernel_arg'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对fseek@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_copy_image'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_sampler_info' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_get_image_info'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_enqueue_release_egl_objects_khr' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to log @ LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_map_image' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_svm_unmap'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对sinf@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to __ cxa_finalize @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_release_sampler' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_kernel'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_get_program_info' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to malloc @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_enqueue_svm_map' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_flush'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_device_image_info_qcom' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_get_device_info'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对lrint@LIBC' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to popen @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_retain_event' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_from_gl_buffer'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对pthread_mutex_trylock@LIBC' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to strncmp @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:nine cb_create_event_from_egl_sync_khr' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to pow @ LIBC'   .//obj/local/arm64-v8a/libOpenCL.so: cb_platform_compiler_unload' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to mmap @LIBC'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_context_info' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_release_program'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so: strrchr@LIBC' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to memalign @LIBC'未定义的引用   .//obj/local/arm64-v8a/libfastcvopt.so:对fgets@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to的未定义引用cb_create_from_gl_texture'   .//obj/local/arm64-v8a/libOpenCL.so:对cb_create_image2d' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_program_with_source'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_create_sampler' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_begin_perf_monitor_qcom'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_create_command_queue' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_svm_free'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_release_command_queue' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_get_perf_monitor_group_info_qcom'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对property_get' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_set_kernel_exec_info'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_create_from_egl_image_khr' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to ioctl @LIBC'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对exit@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_context_from_type'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对munmap@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_acquire_gl_objects'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_get_kernel_sub_group_info_khr' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_enqueue_barrier_with_wait_list'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_set_kernel_arg_svm_pointer' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_get_perf_monitor_counter_info_qcom'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_enqueue_fill_image' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_sampler_with_properties'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so: cb_retain_kernel' .//obj/local/arm64-v8a/libfastcvopt.so: undefined reference to memmem @LIBC'未定义的引用   .//obj/local/arm64-v8a/libfastcvopt.so:对read@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_wait_for_events'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对pthread_join@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_context'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_link_program' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_set_user_event_status'的未定义引用   .//obj/local/arm64-v8a/libOpenCL.so:对cb_common_lock_global_mutex' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_create_user_event'的未定义引用   .//obj/local/arm64-v8a/libfastcvopt.so:对pthread_mutex_unlock@LIBC' .//obj/local/arm64-v8a/libOpenCL.so: undefined reference to cb_release_event'的未定义引用   collect2:错误:ld返回1退出状态   make:*** [obj / local / arm64-v8a / testQcom]错误1

1 个答案:

答案 0 :(得分:0)

当我在Android.mk中修改一个语句时:

LOCAL_LDLIBS += -fuse-ld=gold

一切都有效!