Visual Studio 和Clion配置Cocos2d-x环境
Visual Studio 和Clion配置Cocos2d-x环境
我就不贴图片的,懒得上传图床。懒。
开发环境:
系统: Window11
编译器: CMake + MSVC
开发工具:Clion or Visual Studio
请自行配置好,Python2.7,和Cmake
首先,我们需要去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
当你·下载好了之后可以开始创建项目并且配置环境了。
进入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
相关文章:
Visual Studio 和Clion配置Cocos2d-x环境
Visual Studio 和Clion配置Cocos2d-x环境 我就不贴图片的,懒得上传图床。懒。开发环境: 系统: Window11 编译器: CMake MSVC 开发工具:Clion or Visual Studio 请自行配置好,Python2.7,和Cmake Cocos2d-x下载…...

【百度Apollo】本地调试仿真:加速自动驾驶系统开发的利器
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…...

ztest中ddof起什么作用
⭐️ statsmodels 中 ztest 基本使用 statsmodels 也是一个强大的统计分析库,提供了丰富的统计模型和检验功能。对于 Z 检验,statsmodels 提供了 ztest 函数。 以下是使用 statsmodels 进行 Z 检验的示例: from statsmodels.stats.weights…...
linux 主机无法联网问题
主机不能联网 一 查看当前ip ping路由 ifconfig wlan0 wlan0: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.2.78 netmask 255.255.255.0 broadcast 192.168.2.255ping 192.168.2.1查看是否能ping通 二 查看路由表 route -n Destination G…...

2024/1/27 备战蓝桥杯 1-1
目录 求和 0求和 - 蓝桥云课 (lanqiao.cn) 成绩分析 0成绩分析 - 蓝桥云课 (lanqiao.cn) 合法日期 0合法日期 - 蓝桥云课 (lanqiao.cn) 时间加法 0时间加法 - 蓝桥云课 (lanqiao.cn) 扫雷 0扫雷 - 蓝桥云课 (lanqiao.cn) 大写 0大写 - 蓝桥云课 (lanqiao.cn) 标题…...

支持下一代网络IpV6的串口服务器,IpV6串口485接口转网口
和IPv4比较,IPv6有两个极具吸引力的特点:一个是IPv6采用的128位地址格式,而IPv4采用32位的地址格式,因此IPv6使地址空间增大了296;另一个是IPv6物联网数据业务具有更强的支持能力,成为未来物联网的重要协议…...

uniapp H5 实现上拉刷新 以及 下拉加载
uniapp H5 实现上拉刷新 以及 下拉加载 1. 先上图 下拉加载 2. 上代码 <script>import DragableList from "/components/dragable-list/dragable-list.vue";import {FridApi} from /api/warn.jsexport default {data() {return {tableList: [],loadingHi…...

网络工程师必学知识:2、IPv4和IPv6地址划分
网络工程师必学知识:2、IPv4和IPv6地址划分 1.概述:2.IPv4:地址划分:有类划分,无类划分。一、有类划分:分为5类。ABCDE,掩码分别位8、16、24、28、27取值范围:出类别bit不变…...
Rust - 变量
不管学什么语言好像都得从变量开始,不过只需要懂得大概就可以了。 但在Rust里不先把变量研究明白后面根本无法进行… 变量绑定 变量赋值❌ 变量绑定✔️ Rust中没有“赋值”一说,而是称为绑定。 int a 3; //C中的变量赋值 a 3; //python中的…...

【Linux】压缩脚本、报警脚本
一、压缩搅拌 要求: 写一个脚本,完成如下功能 传递一个参数给脚本,此参数为gzip、bzip2或者xz三者之一; (1) 如果参数1的值为gzip,则使用tar和gzip归档压缩/etc目录至/backups目录中,并命名为/backups/etc…...
用Flask打造一个大模型智能问答WEB网站
目前已经有很多类似GPT的大模型开源,可以提供类似ChatGPT的智能问答功能。我也基于这些开源模型,用Flask来建立一个智能问答网站,可以方便用户建立自己的ChatGPT系统。 这个网站需要提供用户登录功能,对已登录的用户,可以在网站上提出问题,并由大模型处理后返回答案。演…...
学习python第三天
一.数据类型 1.获取数据类型 x 10 print(type(x))""" 输出 <class int> """2.复数类型(complex)详解 复数(Complex)是 Python 的内置类型,直接书写即可。换句话说,…...

(M)UNITY三段攻击制作
三段攻击逻辑 基本逻辑: 人物点击攻击按钮进入攻击状态(bool isAttack) 在攻击状态下, 一旦设置的触发器(trigger attack)被触发,设置的计数器(int combo)查看目前攻击…...

PHP的线程安全与非线程安全模式选哪个
曾经初学PHP的时候也很困惑对线程安全与非线程安全模式这块环境的选择,也未能理解其中意。近来无意中看到一个教程对线程安全(饿汉式),非线程安全(懒汉式)的描述,虽然觉得现在已经能够很明了透彻…...

asdf安装不同版本的nodejs和yarn和pnpm
安装asdf 安装nodejs nodejs版本 目前项目中常用的是14、16和18 安装插件 asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git asdf plugin-add yarn https://github.com/twuni/asdf-yarn.git可以查看获取所有的nodejs版本 asdf list all nodejs有很多找…...

Spring的事件监听机制
这里写自定义目录标题 1. 概述(重点)2. ApplicationEventMulticaster2.1 SimpleApplicationEventMulticaster2.2 AbstractApplicationEventMulticaster 3. ApplicationListener3.1 注册监听器3.2 自定义 4. SpringApplicationRunListeners 1. 概述&#…...

Zookeeper分布式命名服务实战
目录 分布式命名服务 分布式API目录 分布式节点的命名 分布式的ID生成器 分布式的ID生成器方案: 基于Zookeeper实现分布式ID生成器 基于Zookeeper实现SnowFlakeID算法 分布式命名服务 命名服务是为系统中的资源提供标识能力。ZooKeeper的命名服务主要是利用Z…...
DEV-C++ ege.h库 绘图教程(六)
一、前情回顾 DEV-C ege.h库 绘图教程(一) DEV-C ege.h库 绘图教程(二) DEV-C ege.h库 绘图教程(三) DEV-C ege.h库 绘图教程(四) DEV-C ege.h库 绘图教程(五)…...

MySQL原理(一)架构组成之物理文件组成
目录 一、日志文件 1、错误日志 Error Log 1.1、作用: 1.2、开启关闭: 1.3、使用 2、二进制日志 Binary Log & Binary Log Index 2.1、作用: 2.2、开启关闭: 2.3、Binlog还有一些附加选项参数 (1&#x…...
代码随想录算法训练营第三十七天 | 738.单调递增的数字、 968.监控二叉树
题目链接:738.单调递增的数字 文章讲解:代码随想录 738.单调递增的数字讲解 视频讲解:贪心算法,思路不难想,但代码不好写!LeetCode:738.单调自增的数字 思路和解法 题目: 当且仅当每个相邻位…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...