【问题标题】:How to link .so file in android如何在android中链接.so文件
【发布时间】:2014-01-29 00:59:02
【问题描述】:

我有两个项目。第一个的输出是 libtest.so 文件。在第二个项目中使用这个共享对象文件,我想生成最终的 android 可执行文件,AndroidExe。

我生成了 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”的引用。它的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)

【问题讨论】:

    标签: android android-ndk android-ndk-r5


    【解决方案1】:

    只需检查ndk documentation 并尝试一些samples。

    【讨论】:

    • 对不起...我在 ndk 目录下找不到任何解释创建可执行文件的示例。所有示例都是为创建库而编写的。
    • 我的问题是如何使用可执行文件调用 .so 文件中定义的函数。
    猜你喜欢
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 2017-03-12
    • 2017-10-14
    • 1970-01-01
    相关资源
    最近更新 更多