Android ndk 如何添加从另一个NDK项目生成的静态库以及标题?

Android ndk 如何添加从另一个NDK项目生成的静态库以及标题?,android-ndk,Android Ndk,我有两个独立的项目,一个项目用于构建Boost库,另一个从构建的Boost库调用 Boost项目编译良好并生成libboost.a文件。我想要实现的是将这个库添加到我的另一个NDK项目中,并从中调用Boost。我已经看了很多,几乎所有的解决方案都包括将构建的库与头文件一起复制到主项目目录,但我不想一直移动文件。有没有其他合适的方法来实现这一点?您可以使用以下方法将Boost库头文件路径添加到您的Android.mk文件中: LOCAL_C_INCLUDES += ../MyBoostLib/in

我有两个独立的项目,一个项目用于构建Boost库,另一个从构建的Boost库调用


Boost项目编译良好并生成libboost.a文件。我想要实现的是将这个库添加到我的另一个NDK项目中,并从中调用Boost。我已经看了很多,几乎所有的解决方案都包括将构建的库与头文件一起复制到主项目目录,但我不想一直移动文件。有没有其他合适的方法来实现这一点?

您可以使用以下方法将Boost库头文件路径添加到您的Android.mk文件中:

LOCAL_C_INCLUDES += ../MyBoostLib/inc
LOCAL_LDLIBS += ../MyBoostLib/obj/local/armeabi/libMyBoostLib.a

您可以使用以下内容将Boost库添加到Android.mk文件中:

LOCAL_C_INCLUDES += ../MyBoostLib/inc
LOCAL_LDLIBS += ../MyBoostLib/obj/local/armeabi/libMyBoostLib.a

只要两个项目位置之间的关系保持不变,您就可以了。

请查看讨论内容,并查看特定于boost的说明。

问题在于,正如您所期望的那样,项目位于不同的目录以及头文件中。我想除了项目的jni目录之外,没有办法访问任何其他目录?您可以访问您想要的任何目录。如果需要,您可以放入绝对路径,也可以放入多个../。实际上,您已经尝试过了。LIB_LOC:=$(abspath$(LOCAL_PATH)/../..LOCAL_LDLIBS+=$(LIB_LOC)/libboost。返回“目标模式不包含“%”错误。不确定为什么在此场景中需要使用abspath。