解决 Cocos2d-x 中 Android.mk 手动添加源文件

  • 本帖最后由 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

原文地址: http://blog.leafsoar.com/archives/2013/04-24-12.html

呵呵,不错,学习了