2013-07-17 57 views
0

我正在使用Android NDK,並且在編譯undefined引用時出現我的代碼AVI_open_input_file,並且eclipse出現Could not find Symbol AVI_open_input_file in index,這個庫我在項目中有,但是沒有考慮到好像不存在,並一直在看論壇和無法修復它未定義的參考Android NDK

LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 
# LOCAL_MODULE := main 
LOCAL_MODULE := PrincipalEncoder 
LOCAL_SRC_FILES := PrincipalEncoder.cpp 
LOCAL_LDLIBS := -lGLESv1_CM -llog 
include $(BUILD_SHARED_LIBRARY) 
# second lib, which will depend on and include the first one 
include $(CLEAR_VARS) 
LOCAL_MODULE := avilib 
LOCAL_SRC_FILES := avilib.c 
LOCAL_WHOLE_STATIC_LIBRARIES := libstlport_static 
include $(BUILD_SHARED_LIBRARY) 
+1

您確定要將庫鏈接到構建? – m0skit0

+0

在Android.mk文件中我鏈接 – AMascorro

+0

你在說什麼鏈接?無論如何不要張貼鏈接,將文件粘貼在這裏。 – m0skit0

回答

0

你的Android.mk建立兩個共享庫,但它們之間並沒有聲明依賴。您可能想要使用以下內容:

LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 
LOCAL_MODULE := PrincipalEncoder 
LOCAL_SRC_FILES := PrincipalEncoder.cpp 
LOCAL_LDLIBS := -lGLESv1_CM -llog 
LOCAL_SHARED_LIBRARIES := avlib 
include $(BUILD_SHARED_LIBRARY) 

include $(CLEAR_VARS) 
LOCAL_MODULE := avlib 
LOCAL_SRC_FILES := avilib.c 
include $(BUILD_SHARED_LIBRARY)