cocos2dx 编译android *.so文件 和 简单shell文件

编译*.so文件。

一般只需要修改*.mk文件中的。

LOCAL_SRC_FILES  这个命令 这个是要编译的*.cpp文件

LOCAL_EXPORT_C_INCLUDES  和

LOCAL_C_INCLUDES    是要搜索头文件的包含的目录 *.h

添路径都要填相对路径:

LOCAL_PATH := $(call my-dir) 

返回当前MK文件的所在路径 , 上面设置的目录都是相当于这个设置的。


MK文件跟makefile文件查不多

假如用cygwin编译*.so文件,遇到头文件找不到报错的时候。一般是找最近的*.mk文件,因为不同的*.mk文件负责编译不同的模块,最后链接起来生成*.so文件。


编译报错:提示看这个

BaseClasses/UIWidget.h:30:42:  fatal error: ../Layouts/UILayoutParameter.h: No such file or directory

这样。这个是在现有搜索目录中找不到这个文件

UILayoutParameter.h

可以看一下。UIWidget.h文件。 看是怎么包含UILayoutParameter.h文件的。 

../ 上一级目录

./当前目录

一般直接在

LOCAL_EXPORT_C_INCLUDES  和

LOCAL_C_INCLUDES  加上 UILayoutParameter.h 文件相对于 LOCAL_PATH的目录即可

例子:(\为链接符  LOCAL_EXPORT_C_INCLUDES 命令必须在同一行, 要换行写 必须加上 \)

LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) \
                           $(LOCAL_PATH)/GUI/CCControlExtension \


shell脚本中输入文件路径是这样的:

#注释 声明 ANDROID_NDK_ROOT变量

ANDROID_NDK_ROOT=/cygdrive/c/android-ndk-r9

# 打印变量的内容: 这个运行的时候很好用

echo "  ANDROID_NDK_ROOT    = $ANDROID_NDK_ROOT"


展开阅读全文

没有更多推荐了,返回首页