2013-02-15 61 views
2

当编译器查找头文件时,使用预先构建的静态库时出现问题。Android NDK,来自预编译静态库的头文件

我有一个.cpp需要使用静态库中的头文件。我Android.mk是如下:

include $(CLEAR_VARS) 
LOCAL_MODULE := LibA 
LOCAL_SRC_FILES := libs/libA.a 
include $(PREBUILT_STATIC_LIBRARY) 

include $(CLEAR_VARS) 
LOCAL_MODULE := hello 
LOCAL_SRC_FILES := hello.cpp 
LOCAL_STATIC_LIBRARIES := LibA 
include $(BUILD_SHARED_LIBRARY) 

HELLO.CPP需要能够在静态库中发现了一个头,但编译器说,它无法找到它。我是否必须从静态库中分离标题?

回答

0

我不是教授,但我知道你总之需要包含相应的.h文件 !在这些.h文件中,编译器在定义库中的函数时获取“如何使用”库 的信息。

好运 马丁

1

标题不包含在静态库。即使它们是,编译器也无法读取.a文件,只有链接器才会这样做。

+0

是的,你需要指定与包括从库中文件的文件夹,使用 LOCAL_C_INCLUDES:= 在Android.mk文件 – Mixaz 2014-02-28 21:11:42

0

在第二步中尝试“LOCAL_LDLIBS”。