包含Android NDK的库文件

时间:2011-08-15 15:55:46

标签: android g++ android-ndk eclipse-cdt

我正在使用大型文件库,并且有一个.cpp可以编译。我所有的#include语句(已写入的.cpp和.h“库”文件)都在与要编译的.cpp不同的文件夹(加上子文件夹)中。

我已经为我的程序中的Java文件组建了一个Eclipse项目,并且正在使用CDT插件来处理我的C ++文件和编译,但经过一些调查后我似乎需要使用ndk-build,所以我做了以下。

我正在编写我的Android.mk文件,我不知道如何构建它。到目前为止我有基本知识:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := HelloAndroid
LOCAL_SRC_FILES := HelloAndroid.cpp 

include $(BUILD_SHARED_LIBRARY)

但是当我为HelloAndroid.cpp中的每个#include语句运行ndk-build时,我遇到No such file or directory错误,因为我没有指定这些文件的位置。

我该怎么做?有没有办法包含整个目录,比如-I in g ++?或者我会以某种方式将这些文件添加到LOCAL_SRC_FILES,还是指定更多模块?我也将这些文件编译为.a文件。我能以某种方式将它们添加为库文件吗?

1 个答案:

答案 0 :(得分:0)

您应该真正阅读NDK的docs目录中的ANDROID-MK.html文件。简而言之,您可以并且包含(使用LOCAL_C_INCLUDES)和编译器标志(使用LOCAL_CFLAGS),并且它们像往常一样传递给编译器。您需要小心,因为包含相对于NDK根目录。再次,仔细阅读文档和示例。