After googled a lot, I figured out how to include existing prebuilt libs.
You have to add local modules (static or shared), and let your main module to call them in the android.mk.
#Here is the format for static libs. The shared ones work in the similar way.
#I use libpng as an example
include $(CLEAR_VARS)
LOCAL_MODULE := libpng
LOCAL_SRC_FILES := PATH/TO/YOUR/LIB/libpng.a
LOCAL_EXPORT_C_INCLUDES := PATH/TO/YOUR/INCLUDE
include $(PREBUILT_STATIC_LIBRARY)
#call it in your main module
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := $(ANDROID_TOOLCHAIN)/include/
LOCAL_C_INCLUDES += $(ANDROID_SYSROOT)/include/
LOCAL_MODULE := YourModuleName
LOCAL_CFLAGS := -Wall -Wextra
LOCAL_CPPFLAGS += -std=c++11
LOCAL_SRC_FILES := YourModule.cpp
#add your external static modules
LOCAL_STATIC_LIBRARIES := libpng
LOCAL_LDLIBS := -llog -lGLESv2 -lEGL -landroid
include $(BUILD_SHARED_LIBRARY)
Saturday, December 7, 2013
Tuesday, November 5, 2013
assimp--3.0.1270 clang patch
clang has some different style from gcc. assimp works perfectly with gcc but no luck with clang.
I googled a lot and borrow some patches online. This is tested with linux 64bit clang 3.3 and android ndk clang 3.3
I googled a lot and borrow some patches online. This is tested with linux 64bit clang 3.3 and android ndk clang 3.3
Friday, October 25, 2013
opengl matrix, column major
When I implement lootat function with rotation and translation, I found out the opengl matrix is saved in column major, if you were using 1d array. 2d arrays are with the intuitive representations.
Thursday, October 24, 2013
Simple Makefile to compile and link all the cpp files in the folder
DEFINC := /usr/include/
LIBS := /usr/lib/
INC := $(DEFINC)
CXXFLAGS :=
CXXFLAGS = -I$(INC)
CXXFLAGS += -O2 -march=native
CXXFLAGS += -fPIC
LINK :=
LDFLAGS :=
LDFLAGS += -L$(LIBS) $(LINK)
CXX = g++
LD = g++
SRC := $(wildcard ./*.cpp)
OBJ := $(addprefix ./,$(notdir $(SRC:.cpp=.o)))
TARGET := test
all: $(TARGET)
$(TARGET): $(OBJ)
$(CXX) $(LDFLAGS) -o $@ $^
obj/%.o: src/%.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $<
clean :
rm -rf ./*.o $(TARGET)
LIBS := /usr/lib/
INC := $(DEFINC)
CXXFLAGS :=
CXXFLAGS = -I$(INC)
CXXFLAGS += -O2 -march=native
CXXFLAGS += -fPIC
LINK :=
LDFLAGS :=
LDFLAGS += -L$(LIBS) $(LINK)
CXX = g++
LD = g++
SRC := $(wildcard ./*.cpp)
OBJ := $(addprefix ./,$(notdir $(SRC:.cpp=.o)))
TARGET := test
all: $(TARGET)
$(TARGET): $(OBJ)
$(CXX) $(LDFLAGS) -o $@ $^
obj/%.o: src/%.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $<
clean :
rm -rf ./*.o $(TARGET)
Thursday, September 12, 2013
PCM audio
PCM uses signed int to represent sound.U can generate a family of sin function samples, rescale them form -signed_int_max ~ signed_int_max, and convert them into a byte array. Android lib will play it.
Wednesday, May 15, 2013
Sunday, February 10, 2013
opencv python 64bit waitkey
There is a bug for opencv python api under 64 bit. cv2.WaitKey return a value other than a normal int. Maybe it is a long int. Usually it is 1048576(0x100000) more than what it should be. I have to add numpy.int16(cv.WaitKey(10)) to fix it.
Subscribe to:
Posts (Atom)