2

当编译器正在寻找头文件时,我在使用预构建的静态库时遇到问题。

我有一个 .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 需要一个可以在静态库中找到的头文件,但编译器说它找不到。我是否必须将标题与该静态库分开?

4

3 回答 3

1

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

于 2013-02-22T23:15:09.790 回答
0

在第二步中尝试“LOCAL_LDLIBS”。

于 2013-02-23T09:30:43.510 回答
0

我不是教授,但我了解到您总是需要包含相应的 .h 文件!在这些 .h 文件中,编译器获取“如何使用”这些库的信息,因为它们定义了库中的函数。

祝马丁好运

于 2013-02-22T23:08:16.430 回答