- 本帖最后由 klt 于 2013-4-24 14:45 编辑 *
在我们编写 Android 平台 cocos2d-x 游戏的时候,我们除了编写 Classes 之内的源代码文件之外,我们还需要维护其编译文件 Android.mk,如我们在 Classes 添加新的源文件,那么我们就要在 Android.mk 配置添加其编译路径,如:LOCAL_SRC_FILES := hellocpp/main.cpp
…/…/Classes/AppDelegate.cpp
../../Classes/HelloWorldScene.cpp
当然让我们手动维护其配置,当然可以,不过麻烦非常,对于像我这样“懒惰”之人,当然需要想理法让其自动管理喽 ~
自动编译、自动维护如果要自动维护编译文件之内的源代码文件,我们需要的无非就是所有的源代码文件及其路径,而这样的工作可以通过 Linux 强大的命令 find 来实现自动完成,Android.mk 文件如下:
# 定义 all-cpp-files 返回当前路径和 Classes 路径想的所有 cpp 文件,注意:这里只考虑 cpp 而没有 c,如果需要自行添加define all-cpp-files
(patsubst jni/%,%,
(shell find
(LOCAL_PATH
)/../../Classes/
(LOCAL_PATH
)/hellocpp -name “*.cpp”
))
endef
# 这里使用新的方式替换换来的方式,以自动添加源文件
LOCAL_SRC_FILES :=
(call all-cpp-files
)
*#LOCAL_SRC_FILES := hellocpp/main.cpp *
*# ../../Classes/AppDelegate.cpp *
*# ../../Classes/HelloWorldScene.cpp*
LOCAL_C_INCLUDES :=
(LOCAL_PATH
)/…/…/Classes