2014-01-10 70 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

相关问题