您的位置:首页 > 移动开发 > Android开发

Android make: *** No rule to make target

2014-04-14 14:32 405 查看
1. 加入了新project, 出現

make: *** No rule to make target `external/not_my_folder/my_project.cpp', needed by `out/target/product/flo/obj/EXECUTABLES/myproject_intermediates/myproject.o'.  Stop.

make: Leaving directory `/opt/working/krt16s'

原因

Android.mk 未放入 LOCAL_PATH, 所以用了前一個project 的 LOCAL_PATH 去搜尋源碼

Note: build 可執行檔的Android.mk設定

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \

       <source files>     \

LOCAL_C_INCLUDES:= \

        $(TOP)/frameworks/<headers folder>

LOCAL_SHARED_LIBRARIES:= \

        <librarys>

LOCAL_MODULE:= <output name>

LOCAL_MODULE_TAGS:= optional

include $(BUILD_EXECUTABLE)    

2. 在同一個 Android.mk 要make 兩個module, 一樣出現 No rule to make target 的錯誤.

==> 第二個project 不要加入  LOCAL_PATH:= $(call my-dir)

我的成功範例:

LOCAL_PATH:= $(call my-dir)

    

include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \

        <source>.cpp                 \

LOCAL_SHARED_LIBRARIES:= \

        libbinder                       \

        liblog                          \

        

LOCAL_MODULE:= <project 1>

LOCAL_MODULE_TAGS:= optional

include $(BUILD_EXECUTABLE)    

###############################################

include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \

        <source>.cpp                 \

LOCAL_CFLAGS := -DCONFIG_AS_CLIENT

LOCAL_SHARED_LIBRARIES:= \

        libbinder                       \

        liblog                          \

        

 

LOCAL_MODULE:= <project 2>

LOCAL_MODULE_TAGS:= optional

include $(BUILD_EXECUTABLE)   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android