当前位置: 首页 > news >正文

Visual Studio 和Clion配置Cocos2d-x环境

Visual Studio 和Clion配置Cocos2d-x环境

 我就不贴图片的,懒得上传图床。懒。
开发环境:

​ 系统: Window11

​ 编译器: CMake + MSVC

​ 开发工具:Clion or Visual Studio

请自行配置好,Python2.7,和Cmake

  • Cocos2d-x下载

​ 首先,我们需要去Github下载 (cocos2d-x) 的源码,由于源 码过于庞大如果clone失败,请自行查找方法。

​ 随便找一个目录,然后克隆源码

git clone https://github.com/cocos2d/cocos2d-x.git

​ 接下来进入目录,输入命令

​ ps: 注意,由于需要使用Python脚本,请自己安装好Python,Python版本为2.7.18。

cd cocos2d-x
python download-deps.py

​ 下载依赖库之后,可以输入以下命令,更新子模块。建议更新。注意在cocos2d-x目录下执行

 git submodule update --init

​ 当你·下载好了之后可以开始创建项目并且配置环境了。

  • Cocos2d-x创建项目

​ 进入Coco2d-x目录下,输入以下命令执行setup.py脚本。

python .\setup.py 

​ 如果没问题,退出你的终端,再次重进。现在已经配置好了环境变量,可以输入以下命令,来验证。

cocos

​ 接下来,就是来使用命令创建cocos项目。

cocos new --help  

​ 输入上面的命令,来查询一下如何创建项目,然后按照对应的提示,创建项目。

usage: cocos new [-h] [-p PACKAGE_NAME] [-d DIRECTORY] [-t TEMPLATE_NAME][--ios-bundleid IOS_BUNDLEID] [--mac-bundleid MAC_BUNDLEID][-e ENGINE_PATH] [--portrait] -l {cpp,lua,js}[PROJECT_NAME]创建一个新的工程。positional arguments:PROJECT_NAME          设置工程名称。optional arguments:-h, --help            show this help message and exit-p PACKAGE_NAME, --package PACKAGE_NAME设置工程的包名。-d DIRECTORY, --directory DIRECTORY设置工程存放路径。-t TEMPLATE_NAME, --template TEMPLATE_NAME设置使用的模板名称。--ios-bundleid IOS_BUNDLEID设置工程的 iOS Bundle ID。--mac-bundleid MAC_BUNDLEID设置工程的 Mac Bundle ID。-e ENGINE_PATH, --engine-path ENGINE_PATH设置引擎路径。--portrait            设置工程为竖屏。-l {cpp,lua,js}, --language {cpp,lua,js}设置工程使用的编程语言,可选值:[cpp | lua | js]

​ 可以看到,其实创建一个项目很简单,只需要使用

cocos new FlappyBird -p com,wuxianggujun.cocosflappybird -l cpp

​ 好了,这样子。你就创建了一个cpp项目。

  • Clion开发环境配置

    打开你的Clion进入创建的项目FlappyBird

    然后等待clion分析项目之类的,然后你尝试编译会发现报错,无法编译。

    你需要配置工具链为MSVC

    Clion -> 设置 -> 搜索工具链。

    然后进入工具链之后,点击+号。添加Visual Studio。

    工具集指定你的Visual Studio的目录下,我的是VS2022版本。

    D:\Program Files\Microsoft Visual Studio\2022\Professional
    

    架构选择amd64_x86,其实都可以。

    其他的交给Clion自动识别就可以了,当然你也可以自己指定。

    接下来,进入CMake配置

    工具链选择为Visual Studio也就是你刚刚创建的。

    在CMake 选项中添加

    -A Win32 -G "Visual Studio 17 2022"
    

​ 点击确定,接下来其实就可以了。当然你可以修改CMakeLists.txt

​ 在第57行左右,修改

list(APPEND GAME_SOURCEClasses/AppDelegate.cpp
)
list(APPEND GAME_HEADERClasses/AppDelegate.h
)

​ 替换为

file(GLOB_RECURSE CPPSRCLIST ./Classes/*.cpp)
file(GLOB_RECURSE CPPHEADLIST ./Classes/*.h**)list(APPEND GAME_SOURCE ${CPPSRCLIST})
list(APPEND GAME_HEADER ${CPPHEADLIST})

​ 这样子,就可以了。CMakeLists.txt

​ 点击运行,即可看见运行的窗口。

  • Visual Studio开发环境配置

    VS配置需要在终端输入命令。

    cd FlappyBird
    

    进入项目之后,创建一个build文件夹,用来存放构建信息,当然你也可以在proj.win32目录下,只要CMakeLists.txt不冲突。

    mkdir build
    cd build
    

    紧接着输入以下命令,编译的MSVC版本则需要根据自己的VS版本号来选择,

    由于我的是WIndow所以我指定为32位。

    cmake .. -G"Visual Studio 17 2022" -Tv143 -A win32 .. 
    

    等待过后,就会在build创建后缀为.sln的解决方案文件。

    接下来,单击解决方案文件,会进入到Visual Studio界面。

    PS:注意使用VS打开项目之后,需要找到你的项目右键设置为启动项目,不然报错。

    比如我的项目为FlappyBird,右键它,设置为启动项目就可以了。

​ 新手们需要注意哦,使用Visual Studio添加筛选器,不要以为是在项目结构中创建了一个文件夹,然后傻乎乎的新建文件,修改为coo或者hpp。你会发现编译之后根本找不到文件。

​ 有两个方法:

第一个方法是在vs添加你的build文件夹到引用头文件。

第二个方法是右键添加之后选择新建项,请记得修改添加的目录为 <项目目录>/Classes

​ 不然,有你好受。

  • 结束语

​ 配置就到这里了,你应该已经可以正常的运行项目了。接下来就是看API文档了。

​ 配置这些,踩了很多坑,不希望浪费时间搜索资料再次尝试了,

​ 为此,写下这篇文章,做个笔记。

​ 可能文章有的地方有问题,因为我是直接配置好了,运行了在写这篇文章的,而且我的排版可能有问题。也没有图片。

​ 有缘再会,wuxianggujun

相关文章:

  • 【实战】阿里智能编码助手通义灵码
  • Django的web框架Django Rest_Framework精讲(二)
  • Spring Boot RestTemplate请求证书问题
  • 2023年上-未来几年我要做什么
  • ACPF UI 框架设计与基础实现
  • 【Springboot】单元测试Junit5应用
  • 算法笔记刷题日记——3.简单入门模拟 3.1简单模拟
  • 合并分支rebase和merge的区别
  • 新手指南:Postman 旧版本(历史版本)下载
  • Unity类银河恶魔城学习记录1-12 PlayerComboAttack源代码 P39
  • js中原始类型和对象引用
  • 深入解析Elasticsearch的内部数据结构和机制:行存储、列存储与倒排索引之行存(一)
  • canvas设置图形各种混合模式,类似photoshop效果
  • 一篇文章了解系统眼中的键盘--以一个简单的系统分析从按键的输入到字符的显示
  • PyTorch中tensor.backward()函数的详细介绍
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • [译]CSS 居中(Center)方法大合集
  • 2019年如何成为全栈工程师?
  • 3.7、@ResponseBody 和 @RestController
  • Android优雅地处理按钮重复点击
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • AngularJS指令开发(1)——参数详解
  • E-HPC支持多队列管理和自动伸缩
  • gitlab-ci配置详解(一)
  • HTTP中GET与POST的区别 99%的错误认识
  • JS基础之数据类型、对象、原型、原型链、继承
  • PHP面试之三:MySQL数据库
  • React as a UI Runtime(五、列表)
  • React+TypeScript入门
  • vue-router 实现分析
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 动态规划入门(以爬楼梯为例)
  • 七牛云假注销小指南
  • 前端路由实现-history
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 一个项目push到多个远程Git仓库
  • 移动端解决方案学习记录
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • $$$$GB2312-80区位编码表$$$$
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (2)nginx 安装、启停
  • (三)终结任务
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)EXC_BREAKPOINT僵尸错误
  • ***详解账号泄露:全球约1亿用户已泄露
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET gRPC 和RESTful简单对比
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .NET6实现破解Modbus poll点表配置文件
  • .NET命令行(CLI)常用命令