2011-01-13 12 views
5

Koşuyorum ndk-build komut dosyası tarafından (benim Android.mk dosyasındaki bazı * .cpp kaynak dosyalarını ve monte istediğim bazı * .s ARM montajcı dosya ve bağlantıya sahip Nasıl).Android.mk - monte etmek ve bağlantı ARM montajcı dosyaları

Benim Android.mk dosyası şuna benzer:

LOCAL_PATH:= $(call my-dir) 
include $(CLEAR_VARS) 
LOCAL_ARM_MODE := arm 
LOCAL_MODULE := libTestJNI 
LOCAL_SRC_FILES := Test.cpp TestAS_gas4.s 
LOCAL_CFLAGS := -DHAVE_CONFIG_H -DFPM_ARM -ffast-math -O3 -DOPT_ARM 
LOCAL_LDLIBS += -llog 
include $(BUILD_SHARED_LIBRARY) 

Maalesef * .s dosya tanınmıyor. ndk-build diyor ki: "olarak" "normal" bir makefile olarak

Gdbserver  : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver 
Gdbsetup  : libs/armeabi/gdb.setup 
make: *** No rule to make target `/cygdrive/c/projects/TestAS_gas4.s', needed by `/cygdrive/c/projects/obj/local/armeabi/objs-debug/libTestJNI/TestAS_gas4.o'. Stop. 

Bir kural kullanarak monte etmesi gerekir. Android.mk dosyalarında nasıl yapılır?

/Kim

cevap

5

Bu utanç verici, ama sorun bir alt klasörde yer nerede * dosyaları .s olmasıydı. Bu durumda "Hedefleme kuralı yok" hatası, çok zayıf bir hata açıklamasıdır.

/Kim

+0

utanç terlemezler. Hepimiz zaman zaman böyle şeyler yaparız. – wallyk

0

ipucu: değişim ekleri:

ln -fs %.s %.S.arm 
İlgili konular