我已编译(希望成功)fftw库。我想将它链接到我的ndk项目。 我有2个android.mk文件: /分析/ fftw3 /
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := fftw3
LOCAL_SRC_FILES := lib/libfftw3f.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
#LOCAL_LDFLAGS := $(LOCAL_PATH)/lib/libfftw3f.a
#LOCAL_LDLIBS := $(LOCAL_PATH)/lib/libfftw3f.a
include $(PREBUILT_STATIC_LIBRARY)
#$(call import-module, fftw3)
/
中的主要android.mk文件LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := jni
FILE_LIST := $(wildcard $(LOCAL_PATH)/*.c)
FILE_LIST += $(wildcard $(LOCAL_PATH)/**/*.c)
FILE_LIST += $(wildcard $(LOCAL_PATH)/**/**/*.c)
FILE_LIST += $(wildcard $(LOCAL_PATH)/**/**/**/*.c)
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
#LOCAL_SRC_FILES := analysis/fftw3/lib/libfftw3f.a
#LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/analysis/fftw3/include
#LOCAL_LDFLAGS := $(LOCAL_PATH)/analysis/fftw3/lib/libfftw3f.a
#LOCAL_LDLIBS := $(LOCAL_PATH)/analysis/fftw3/lib/libfftw3f.a
LOCAL_STATIC_LIBRARIES := analysis/fftw3/fftw3
include $(BUILD_SHARED_LIBRARY)
include $(LOCAL_PATH)/analysis/fftw3/Android.mk
我尝试过很多东西(正如你可以看到的那样评论......)但是当我尝试从libfftw3f库调用一个函数时,我得到的是“未定义的引用”。 一切似乎都好。我不知道我错过了什么。
答案 0 :(得分:0)
LOCAL_STATIC_LIBRARIES:= analysis / fftw3 / fftw3
这一行应该是
LOCAL_STATIC_LIBRARIES:= fftw3
实际上,您只能列出本地静态库,其名称与您在行
中指定的名称相同LOCAL_MODULE:= fftw3
如果你为lib LOCAL_SRC_FILE
指定的路径是正确的,它应该正确链接。