2014-01-10 71 views
2

我有兩個項目。第一個的輸出是libtest.so文件。在第二個項目中使用這個共享目標文件,我想生成最終的Android可執行文件,AndroidExe如何鏈接.so文件在android中

我產生libtest.so及其Android.mk下面

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 
LOCAL_CFLAGS := -g 
LOCAL_ARM_MODE := arm 
LOCAL_MODULE :=test 
LOCAL_SRC_FILES := test.c 
export LD_LIBRARY_PATH=/data/local/tmp 

include $(BUILD_SHARED_LIBRARY) 

我在這裏所面臨的問題是,我不知道如何連接該給出.so文件在我的最終可執行文件中。在這個最後的項目中,我使用了.so lib中定義的函數(sum(a,b))之一。在構建時,顯示錯誤未定義的引用'sum'.ts Android.mk文件給出如下:

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 
LOCAL_CFLAGS := -g 
LOCAL_ARM_MODE := arm 
LOCAL_MODULE :=AndroidExe 
LOCAL_SHARED_LIBRARIES := libtest.so 
LOCAL_SRC_FILES := AndroidExe.c 

include $(BUILD_EXECUTABLE) 

回答

2

只是檢查ndk documentation並嘗試一些samples

+0

對不起...我在ndk目錄下找不到任何示例來解釋創建可執行文件。所有樣本都需要創建庫。 – RHS

+0

我的問題是我如何使用可執行文件調用.so文件中定義的函數。 – RHS

+0

好的...終於我達到了答案..感謝所有.. – RHS

相關問題