A simple question (i am using android NDK r6 with cygwin, but this is a question regarding makefiles and gcc). Suppose that i put under jni/ directory a library under the dir mylib_v_1/. Mylib is structured as:
mylib_v_1
mylib
include
Under the include directory there are two files, myinc1.hpp and myinc2.hpp. In myinc1.hpp there is a line as:
#include <mylib/myinc2.hpp>
in my .cpp file, under the jni/ directory, there is the following line:
#include <mylib/myinc1.hpp>
I want to setup the Android.mk (or what other files needs to be set up) in order to let gcc to know to use, as additional include directory, jni/mylib_v_1/ in order to use #include with brackets (instead of two files, in my real case there are a lot of .hpp that includes a lot of other .hpp with brackets notation).
How can i do this?
Thx.
Ps. If, in the .cpp file i change the include in this way:
#include "mylib/myinc1.hpp"
gcc find myinc1.hpp but, while processing it, it find the second include:
#include <mylib/myinc2.hpp>
and stop there, saying that it is not able to find the file myinc2.hpp.
Option 1:
Add one of the following lines to your Android.mk inside a module of your choice:
LOCAL_C_INCLUDES := /path/to/your/includes # ignore previous includes
# OR
LOCAL_C_INCLUDES += /path/to/your/includes # preserve previous includes
If necessary you could create an environment variable pointing at '/path/to/your/includes' and include it like this:
LOCAL_C_INCLUDES := $(MYLIB_INCLUDES_PATH) # ignore previous includes
# OR
LOCAL_C_INCLUDES += $(MYLIB_INCLUDES_PATH) # preserve previous includes
Option 2:
Copy the complete folder with all header-files in it (mylib) into the 'jni' folder of your project.
Add the following line to your Android.mk inside a module of your choice:
LOCAL_C_INCLUDES := $(LOCAL_PATH)/mylib
or
LOCAL_C_INCLUDES += $(LOCAL_PATH)/mylib
Depending on whether there are previous includes or not.
Option 3:
Install the CDT plugin for Eclipse and add the absolute path to the 'mylib' directory to the include paths of your project. Here is a great tutorial that shows all the necessary steps.
http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-development/
You can add C include paths in you Android.mk using:
common_CFLAGS := -Ijni/mylib/include
Any additional paths require another -I option.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With