cocos2dx2.X 编译时,传递编译选项

1、
'ndk-build' Overview


I. Usage:


The Android NDK r4 introduced a new tiny shell script,named 'ndk-build',to simplify building machine code.


The script is located at the top-level directory of the NDK,and shall be invoked from the command-line when in your application project directory,or any of its sub-directories. For example:


    cd $PROJECT
    $NDK/ndk-build
Where $NDK points to your NDK installation path. You can also create an alias or add $NDK to your PATH to avoid typing it every time.


II. Options:


All parameters to 'ndk-build' are passed directly to the underlying GNU Make command that runs the NDK build scripts. Notable uses include:


    ndk-build                  --> rebuild required machine code.
    ndk-build clean            --> clean all generated binaries.


    ndk-build NDK_DEBUG=1      --> generate debuggable native code.


    ndk-build V=1              --> launch build,displaying build commands.


    ndk-build -B               --> force a complete rebuild.


    ndk-build -B V=1           --> force a complete rebuild and display build
                                  commands.


    ndk-build NDK_LOG=1        --> display internal NDK log messages
                                  (used for debugging the NDK itself).


    ndk-build NDK_DEBUG=1      --> force a debuggable build (see below)
    ndk-build NDK_DEBUG=0      --> force a release build (see below)


    ndk-build NDK_HOST_32BIT=1 --> Always use toolchain in 32-bit (see below)


    ndk-build NDK_APPLICATION_MK=<file>
      --> rebuild,using a specific Application.mk pointed to by
          the NDK_APPLICATION_MK command-line variable.


    ndk-build -C <project>     --> build the native code for the project
                                  path located at <project>. Useful if you
                                  don't want to 'cd' to it in your terminal.

(摘自NDK说明文档NDK-BUILD.html)


2、

我们看到上面ndk-build有很多可选参数,那在cocos2dx中,这些参数使用的呢?
我们都知道在2.X版本中,我们都是通过build_native.sh脚本,编译cocos2dx项目,
那么我们怎么通过build_native.sh脚本使用上面的参数呢?
下面是从build_native.sh脚本中摘出来的:

if [[ "$buildexternalsfromsource" ]]; then
    echo "Building external dependencies from source"
    "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
        "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DXTALKINGDATA_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/source"
else
    echo "Using prebuilt externals"
    "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
        "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DXTALKINGDATA_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
fi
看下这部分:

 "$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
        "NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DXTALKINGDATA_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
解释: $NDK_ROOT -- NDK工具的根目录,在这里有ndk-build执行程序 -C "$APP_ANDROID_ROOT" -- 编译的工程,参看第一部分 $* -- shell脚本,传递给脚本或函数的所有参数。 总结:所以如果我们需要使用上面ndk-build命令的可选参数,直接在执行build_native.sh脚本时,添加在后面即可。 例子: $ ./build_native.sh clean

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...