zoukankan      html  css  js  c++  java
  • 避免修改Android.mk添加cpp文件路径

    手工输入项目需要编译的cpp文件到Android.mk里的缺点

    1)繁琐,如果cpp文件很多,简直无法忍受

    2)手工输入过程中容易出现错误

    3)如果cpp文件更改名称,需要修改android.mk文件

    有一种方法可以直接遍历文件夹里面的所有.cpp和.c文件实现。

    方法如下:

    #遍历当前目录和所有子目录,放到walk变量里面
    define walk
      $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
    endef

    #过滤walk变量中路径为Classes的文件路径,放到ALL_FILES变量中

    ALL_FILES := $(call walk, $(LOCAL_PATH)/../../Classes)

    #过滤ALL_FILES变量里面的.cpp和.c文件,存放到CPP_FILE_LIST变量里

    CPP_FILE_LIST := $(filter %.cpp, $(ALL_FILES))
    CPP_FILE_LIST += $(filter %.c, $(ALL_FILES))

    #最后一步,CPP_FILE_LIST里面的绝对路径改成相对路径,放到LOCAL_SRC_FILES变量里,准备编译

    LOCAL_SRC_FILES := $(CPP_FILE_LIST:$(LOCAL_PATH)/%=%)

    #后面还可以附加自己定义的cpp文件相对路径

    LOCAL_SRC_FILES += hellolua/main.cpp

    转载请注明出处,from 博客园HemJohn

  • 相关阅读:
    关于产品
    Windows服务 + Quartz.NET
    C#
    C#
    URL
    前端生态系统总结
    字符串相似度
    Process Explore & Windbg
    webpack
    JS
  • 原文地址:https://www.cnblogs.com/HemJohn/p/7080417.html
Copyright © 2011-2022 走看看