2014-09-09 4 views
1

나는 fftw 라이브러리 (잘하면 성공)를 컴파일했습니다. 내 ndk 프로젝트에 연결하고 싶습니다. 나는 2 개 android.mk 파일이 : /분석/fftw3/ndk : 정적 라이브러리 오류 연결

당신이 의견에 볼 수/

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 

의 주요 android.mk 파일 나는 (많은 것들을 시도

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) 

..)하지만 libfftw3f 라이브러리에서 함수를 호출하려고하면 "정의되지 않은 참조"가 나타납니다. 모두 괜찮아 보입니다. 내가 뭘 놓치고 있는지 모르겠다.

답변

0

LOCAL_STATIC_LIBRARIES를 = 분석/fftw3/fftw3

이 줄은 오히려

LOCAL_STATIC_LIBRARIES해야한다 : 사실 = fftw3

, 당신은 로컬 정적을 나열해야합니다 라이브러리에 지정한 이름이 같은 라이브러리

LOCAL_MODULE = fftw3

그것은 당신이 lib 디렉토리에 대한 LOCAL_SRC_FILE에 대해 지정된 경로가 올바른지 주어진 올바르게 연결해야합니다.

관련 문제