2013-02-15 87 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」。