cocos2dx mac下环境搭建

本来之前没有用过Xcode,而对Visual Studio很有好感,网上也说IDE来说,VS是完爆Xcode的。可惜公司用的是Mac电脑,虽然尝试过使用虚拟机,可惜磁盘空间太小,装完vs后虚拟机已经占了70G,而且编译性能、ios/android调试、环境转换等等都有不足,最后还是直接用Xcode来搞了。

 

一、下载组件

   cocos官网http://www.cocos.com/download上下载资源,包括cocos studio(用于场景设计、布局、动画等,可以将设计与编码分开,提高效率)cocos framework(我使用时最新是3.9版本的)

 

二、生成工程

   Xcode直接从Appstore上下载,不再赘述。将cocos framework解压后,到cocos2d-x-3.9/tools/cocos2d-console/bin目录下执行如下命令,新建工程:

./cocosnew HelloWorldDemo -p com.coco2dx.org -l cpp -d ~/Desktop

参数说明:

  • HelloWorldDemo为项目名称
  • -p后面接包名
  • -l后面接开发语言类型,有cpp, lua, js三种类型
  • -d后面接项目存放的目录

 

执行完成后,在Desktop目录下,会新建HelloWorldDemo的工程目录

计算机生成了可选文字:/Users/wangfeng/Desktop/HelloWorldDemo cm Itali Classes C Make L ists.txt COCOS2d proj.android proj.android-studio proj.ios_mac proj.linux proj. win8.1 -universal proj.win10 proj.win32 Resources 2015fF12É30E 2015fV12E29E 2015V12É29E 2015fF12É29E 2015fF12É29E 2015#12É29E 2015fF12É29E 2015fF12É29E 2015fF12É29E 2015fF12 2015fF12É29E

 

里面有跨平台所使用的各种工程目录,我们主要使用的是proj.ios_mac——ios平台,proj.android/proj.android-studio——android平台,proj.androideclipse工程,proj.android-studioandroid-studio工程。我习惯使用as,不过需要比较新的cocos版本才会生成这个目录。

 

进入proj.ios_mac,直接打开HelloWorldDemo.xcodeproj文件,就可以编译执行

计算机生成了可选文字:6 - Phone i0S 113C75) Hello World 68 72 L verts: L cal Is: 29.9 / 0,030

 

 

三、安卓环境配置

1、普通配置

   我们使用cocos,除了因为对开发过程进行了封装,可以提高开发效率外,对跨平台的支持也是一个很重要的原因。现在就将刚才的工程使用android studio进行编译打包,生成android上可执行的工程。

   sdkndk的安装,网上资料一大堆,就不详细描述了。注意在android studio中进行配置就可以了。

   使用android studio将刚才的proj.android-studio目录导入工程File->new->import project。然后直接在AS中编译是不行的,ndk部分的编译需要使用命令行,在terminal中执行:

 

~/cocos2d-x-3.9/tools/cocos2d-console/bin/cocoscompile -p android --android-studio

 

会自动调用ndk-build进行编译ndk部分(需要时间比较久,每次编译会需要编译cocos的工程部分,如果之前有其他工程编译过,可以直接目标文件copy过来),调用gradle编译apk。

计算机生成了可选文字:Terminal + . android—studio wangfeng$ Termi 'W Android Q: Messages 4: Run

 

 

编译完成后,就可以直接运行了。

 

2、进阶配置

自动生成的jni/Android.mk比较弱,有新增的c++文件需要手动添加:

LOCAL_SRC_FILES:= hellocpp/main.cpp \

                 ../../../Classes/AppDelegate.cpp \

                 ../../../Classes/HelloWorldScene.cpp

 

所以,网上找了一个可以自动将目录下所有文件包含的mk文件:

LOCAL_PATH := $(call my-dir)

 

include $(CLEAR_VARS)

 

LOCAL_MODULE := cocos2dcpp_shared

 

LOCAL_MODULE_FILENAME := libcocos2dcpp

 

#widcard为扩展通配符

#遍历目录和子目录

define walk

 $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))

endef

#遍历路径Classes下得目录和子目录文件,并存入ALLFILES变量中

ALLFILES = $(call walk, $(LOCAL_PATH)/../../../Classes)

#ALLFILES目录中提取文件,并存入FILE_LIST

#.ccLinux/Unix下为C++源文件的默认扩展名,.cpp一个意思

#.c 因为我要用到sqlite3.c

FILE_LIST := hellocpp/main.cpp

FILE_LIST += $(filter %.cpp, $(ALLFILES))

FILE_LIST += $(filter %.c, $(ALLFILES))

FILE_LIST += $(filter %.cc, $(ALLFILES))

 

 

#搜索Classes下的子目录文件

FILE_INCLUDES += $(shell find $(LOCAL_PATH)/../../../Classes -type d)

#根据搜索到的文件名 编译资源文件

LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)

#提供搜索文件的路径

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../Classes \

  $(FILE_INCLUDES) \

 

LOCAL_STATIC_LIBRARIES := cocos2dx_static

 

include $(BUILD_SHARED_LIBRARY)

 

$(call import-module,.)

 

$(call import-module,network)

#$(call import-module,editor-support/cocosbuilder)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值