cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法
cocos2d-x 3.0 中,如果你需要使用CocosStudio、Extensions扩展库 等等,都需要自己手动添加。
添加步骤如下:(比如说现在我要添加libExtensions,libCocosStudio , libGUI)
1.添加附加项目
右击解决方案--->添加现有项目--->添加:项目目录\cocos2d\extensions\proj.win32\libExtensions,然后你会发现左边多了一个libExtensions扩展库
右击解决方案--->添加现有项目--->添加:项目目录\cocos2d\cocos\editor-upport\cocostudio\proj.win32\libCocosStudio,然后你会发现左边多了一个libCocosStudio扩展库
libGUI类似....
完成后类似这样子
2.引用这些项目
右键你的项目---属性 ---通用属性---框架和引用---添加引用,然后添加libExtensions,libCocosStudio,完成后大概像这样子
3.添加包含目录,否则你include头文件会提示找不到
右键---项目---配置属性---C/C++ --- 常规---附加包含目录---编辑---添加
$(EngineRoot)
$(EngineRoot)cocos
$(EngineRoot)cocos\editor-support
完成后大概像这样子
4.引入头文件使用
#include "extensions/cocos-ext.h" #include "cocostudio/CocoStudio.h"
注意写法,不是#include "cocos-ext.h",虽然这样子写win32可以编译通过,可是编译成android apk时会经常找不到cocos-ext.h等等错误
5.编译成android apk需要在android mk文件中加入路径的配置,附上我的android mk文件写法
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := cocos2dcpp_shared LOCAL_MODULE_FILENAME := libcocos2dcpp LOCAL_SRC_FILES := hellocpp/main.cpp ../../Classes/AppDelegate.cpp ../../Classes/ClipingNodeLayer.cpp ../../Classes/MainScene.cpp ../../Classes/MenuTab.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static # 添加 cocos_extension 静态库 LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static # 添加 cocostudio 静态库 include $(BUILD_SHARED_LIBRARY) $(call import-module,2d) $(call import-module,audio/android) $(call import-module,Box2D) $(call import-module,extensions) # 导入 extensions 模块 $(call import-module,editor-support/cocostudio) # 导入 cocostudio 模块
6 最后编译为apk
cmd -->cd F:\VsProjects\cocos3Test (工程根目录)
然后命令:
cocos compile -p android -j 4然后泡杯热茶,坐等编译成功~~