Включая библиотечные файлы с Android NDK - PullRequest
0 голосов
/ 15 августа 2011

Я работаю с большой библиотекой файлов, и у меня есть один .cpp для компиляции.Все мои операторы #include (файлы .cpp и .h «библиотеки», которые уже написаны) находятся в другой папке (плюс подпапки), чем .cpp для компиляции.

Я собрал Eclipseпроект для файлов Java в моей программе, и я использую плагин 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)

Но, конечно, я получаю ошибку No such file or directory при запуске ndk-build для каждого оператора #include в HelloAndroid.cpp, так как я не указал, гдеэти файлы.

Как бы я это сделал?Есть ли способ включить весь каталог, как -I в g ++?Или я как-то добавляю эти многие файлы в LOCAL_SRC_FILES, или указываю больше модулей?У меня также есть эти файлы, скомпилированные где-то в виде файлов .a.Могу ли я как-нибудь добавить их в виде библиотечных файлов?

1 Ответ

0 голосов
/ 15 августа 2011

Вы действительно должны прочитать файл ANDROID-MK.html в каталоге документов NDK. Вкратце, вы можете и включать (с LOCAL_C_INCLUDES) и флаги компилятора (с LOCAL_CFLAGS), и они передаются компилятору как обычно. Вы должны быть осторожны, так как include относятся к корневому каталогу NDK. Снова просмотрите документы и примеры.

...