Tôi đang biên soạn các nguồn gốc và thêm các phụ thuộc với .a libs và các tệp tiêu đề tương đối có cấu trúc sau.Không có quy tắc nào để đặt mục tiêu NDK
/JNI/
Android.mk
LOCAL_PATH := $(call my-dir)
include $(call all-subdir-makefiles)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE := ndk1
LOCAL_SRC_FILES := native.c
LOCAL_STATIC_LIBRARY := mschema
include $(BUILD_SHARED_LIBRARY)
native.c
/JNI/prereqs/
Android.mk
LOCAL_PATH := $(call my-dir)
include $(call all-subdir-makefiles)
include $(CLEAR_VARS)
--Used để gọi các thư mục con mk file
/JNI/prereqs/mschema/
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE :=mschema
LOCAL_SRC_FILES :=libmschema.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_STATIC_LIBRARY)
libmschema.a
/JNI/prereqs/mschema/include
file Header. (.h)
Nhưng trong khi cố gắng để ndk-build (NDK5) tôi nhận được lỗi sau.
[email protected]:~/dev/workspace/rmsdk.native.wraper$ ndk-buildmake:
*** No rule to make target `/home/marcos/dev/workspace/rmsdk.native.wraper/jni/prereqs/mschema/native.c', needed by `/home/marcos/dev/workspace/rmsdk.native.wraper/obj/local/armeabi/objs/ndk1/native.o'. Stop.
Trong khi gõ tôi ghi nhận lỗi về /home/marcos/dev/workspace/rmsdk.native.wraper/jni/prereqs/mschema/native.c' and actually this file is under
/home/marcos/dev/workspace/rmsdk.native.wraper/jni/native.c', có gì sai trong thực hiện tác phẩm của tôi?
Vấn đề có thể tránh được bằng cách thay đổi Android.mk đầu tiên như sau:
LOCAL_PATH := $(call my-dir)
include $(call all-subdir-makefiles)
LOCAL_PATH :=/home/marcos/dev/workspace/rmsdk.native.wraper/jni
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE := ndk1
LOCAL_SRC_FILES := native.c
LOCAL_STATIC_LIBRARY := mschema
include $(BUILD_SHARED_LIBRARY)
Nhưng có vẻ sai. Có cách tiếp cận tốt hơn không?
"Không gọi my-dir sau khi bao gồm một tệp khác". dòng đã lưu rất nhiều thời gian. Cảm ơn. – Sanket