我已经在Shield Tablet"上发布了一个qustion" CUDA CUFFT,当我按照建议时,错误消失了。但是有一个警告称为隐藏符号' __ aeabi_atexit' ,由DSO ./obj../libcufft.so引用。我用谷歌搜索,似乎没有解决这个问题的好方法。
有人可以帮助我并指出正确的方向吗?
非常感谢!
这是Android.mk文件的内容 ' LOCAL_PATH:= $(调用my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := lib_boxfilter
LOCAL_SRC_FILES := ../cuda/lib_boxfilter.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libcudart_static
LOCAL_LIB_PATH += $(CUDA_TOOLKIT_ROOT)/targets/armv7-linux- androideabi/lib/
LOCAL_SRC_FILES := $(LOCAL_LIB_PATH)/libcudart_static.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libcufft
LOCAL_SRC_FILES := libcufft.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := boxfilter
NVPACK := $(NDK_ROOT)/..
BOX_FILTER_ROOT := $(LOCAL_PATH)/..
MY_PREFIX := $(LOCAL_PATH)/
MY_SOURCES := $(wildcard $(LOCAL_PATH)/*.cpp)
LOCAL_SRC_FILES := $(MY_SOURCES:$(MY_PREFIX)%=%)
LOCAL_STATIC_LIBRARIES := lib_boxfilter libcudart_static
LOCAL_STATIC_LIBRARIES += nv_and_util nv_egl_util nv_glesutil nv_shader nv_file
LOCAL_SHARED_LIBRARIES := libcufft
LOCAL_LDLIBS := -llog -landroid -lGLESv2 -lEGL
LOCAL_C_INCLUDES += $(BOX_FILTER_ROOT)/cuda
LOCAL_C_INCLUDES += $(CUDA_TOOLKIT_ROOT)/targets/armv7-linux-androideabi/include
include $(BUILD_SHARED_LIBRARY)
$(call import-add-path, $(NVPACK)/Samples/TDK_Samples/libs/jni)
$(call import-module,nv_and_util)
$(call import-module,nv_egl_util)
$(call import-module,nv_shader)
$(call import-module,nv_file)
$(call import-module,nv_glesutil)
Application.mk的内容
APP_STL := gnustl_static
APP_ABI := armeabi-v7a
APP_PLATFORM := android-10'