7

私はacソースフォルダー名「clib」を持っていました。その中に、1.h、1.c、2.h、2.c、3.c、3.hのようなサンプルファイルがいくつかあり、そのフォルダーの外側には4があります.h、4.c、4_jni.h、4_jni.c

「.so」をビルドするために、このようなandroid.mkを作成しました

LOCAL_PATH := $(call my-dir) 
MY_PATH := $(LOCAL_PATH) 
include $(call all-subdir-makefiles) 
include $(CLEAR_VARS) 
LOCAL_PATH := $(MY_PATH) 
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
LOCAL_MODULE := clib
TIME_SYNC_PATH := ../../../clib
LOCAL_SRC_FILES := \ 
                    4_jni.c \
                    4.c     \
                    $(TIME_SYNC_PATH)/1.c \
                    $(TIME_SYNC_PATH)/2.c \
                    $(TIME_SYNC_PATH)/3.c \
$(BUILD_SHARED_LIBRARY)

ここで 4.h には 1.h ファイルが含まれます

だから私の本当の問題は、.soファイルをビルドしようとしたときに、このようなエラーが表示されることです

fatal error: 1.h: No such file or directory

4.h から 1.h を削除すると、すべて正常にビルドされますが、同じ種類のフォルダー構造を持つ大きな C ライブラリがあり、.h ファイルの一部には定義されたマルコがほとんど含まれていません ....

したがって、別のフォルダーにある.hを含める方法を提案してください..

4

1 に答える 1