背景

打算学写游戏,新手向,当然从cocos2d-x开始.

看了cocos的文档,安装是针对ubuntu的,这里记录下centos7上安装、编译、运行测试的过程。

如果你已经有ubuntu,不推荐看此文.

kernal:

3.10.0-229.4.2.el7.x86_64


下载并解压cocos2d-x

http://www.cocos2d-x.org/filedown/cocos2d-x-3.6.zip

unzip cocos2d-x-3.6.zip

安装依赖##

使用yum安装:

cmake.x86_64

gcc-c++.x86_64

mesa*

libXrandr-devel.x86_64

xorg-x11-apps.x86_64

xorg-x11-drv*

libXi-devel.x86_64

glew-devel.x86_64

libcurl-devel.x86_64

安装libglfw##

下载并解压:

curl -o glfw-3.0.4.tar.gz https://codeload.github.com/glfw/glfw/tar.gz/3.0.4
tar zxvf glfw-3.0.4.tar.gz

编译并安装:

cd glfw-3.0.4
mkdir build
cd build
cmake .. -DBUILD_SHARED_LIBS=ON -G "Unix Makefiles"
make
sudo make install
sudo ldconfig

编译cocos2d-x##

cd cocos2d-x-3.6/build
cmake ..
make

运行测试##

  • cpp-empty-test
bin/cpp-empty-test/cpp-empty-test

如下图所示:

  • cpp-tests
bin/cpp-tests/cpp-tests

如下图所示:


找不到libglfw.so的错误处理##

如果运行测试时出现如下错误:

bin/cpp-tests/cpp-tests: error while loading shared libraries: libglfw.so.3: cannot open shared object file: No such file or directory

确认是否libglfw.so库已加入缓存:

ldconfig -p | less
/libglfw.so
/* 没有找到,不在缓存中 */

找到libglfw.so.3的安装位置:

find / -name libglfw.so.3

/* 显示其路径如下 */
/usr/local/lib/libglfw.so.3

观察/etc/ld.so.conf:

cat /etc/ld.so.conf

/* 显示如下内容 */
include ld.so.conf.d/*.conf

在/etc/ld.so.conf.d文件夹下新建my-glfw.conf:

cd /etc/ld.so.conf.d
sudo vim my-glfw.conf /* 添加如下内容 */
/usr/local/lib

运行ldconfig,更新缓存:

sudo ldconfig

检查libglfw.so是否加入缓存:

ldconfig -p | less
/libglfw.so /* 显示如下内容 */
libglfw.so.3 (libc6,x86-64) => /usr/local/lib/libglfw.so.3
libglfw.so (libc6,x86-64) => /usr/local/lib/libglfw.so

再次运行cocos2d-x的test:

bin/cpp-empty-test/cpp-empty-test

如下图所示:

新手学cocos2dx,centos7下的安装过程的更多相关文章

  1. 19.CentOS7下PostgreSQL安装过程

    CentOS7下PostgreSQL安装过程 装包 sudo yum install postgresql-server postgresql-contrib 说明: 这种方式直接明了,其他方法也可以 ...

  2. Linux(CentOS7)下Nginx安装

    记录一下 Linux(CentOS7) 下 Nginx 安装过程 一.准备工作 版本说明: Linux版本:CentOS 7 64位 Nginx版本:nginx-1.20.0 1. 下载安装文件 采用 ...

  3. Linux(CentOS7)下rpm安装MySQL8.0.16

    记录一下自己在 CentOS7 下 rpm 安装 MySQL8.0.16 的过程. 一.准备工作 1. 下载MySQL所需要的安装包 从 MySQL官网 下载,上传至 CentOS 系统 /usr/l ...

  4. Linux(CentOS7)下二进制安装MySQL5.7.26

    记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...

  5. eclipse在Ubuntu 13.04下的安装过程

    eclipse在Ubuntu 13.04下的安装过程及问题小记 一.eclipse安装过程 首先确保在安装eclipse之前已经安装好Java虚拟机 1. eclipse官网下载压缩包 下载地址:ht ...

  6. step_by_step_记录deepin下curl安装过程

    记录 deepin 下 curl 安装过程 wget https://curl.haxx.se/download/curl-7.55.1.tar.gz .tar.gz cd curl-/ ./conf ...

  7. EnvironmentError: mysql_config not found问题解决(centos7下python安装mysql-python)

    centos7下python安装mysql-python模块,执行命令: pip install mysql-python 出现报错:EnvironmentError: mysql_config no ...

  8. centos7下编译安装php-7.0.15(PHP-FPM)

    centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...

  9. Centos7下快速安装Mongo3.2

    Centos7下快速安装Mongo3.2 一般安装Mongo推荐源码安装,有时候为了快部署测试环境,或者仅仅是想装个mongo shell,这时候yum安装是最合适的方式, 下面介绍一下如何在Cent ...

随机推荐

  1. python学习笔记6--操作Mysql

    一.mysql操作 import pymysql #连上mysql ip 端口号 密码 账号 数据库 #建立游标 #执行sql #获取结果 #关闭连接.关闭游标 conn=pymysql.connec ...

  2. scale.fix.js

    无意间在一个网站上看到的,本来是对另一个效果感兴趣的,结果看到这个放开来的js就读了一下. var metas = document.getElementsByTagName('meta'); var ...

  3. 《Linux命令行与shell脚本编程大全》23章24章

    第二十三章 使用其他shell bash shell是linux发行版中最广泛使用的shell.但是它并不是唯一的选择,还有其他的shell可以供你选择. 23.1 什么是dash shell 百度百 ...

  4. gdb初步窥探

    本文是通过学习左耳朵皓帝的文章,详见:http://blog.csdn.net/haoel 1.使用gdb gdb主要是用来调试c和c++程序,首先在编译前我们先把调试信息加到可执行程序当中,使用参数 ...

  5. Memcached命令:简单获取缓存value用法

    Memcached:命令用法1.cmd 输入telnet ip  端口 进入memcached服务端窗口比如:xxx.Token_T1435622096xxx为key获取此key的memcached ...

  6. yui压缩JS和CSS文件

    CSS和JS文件经常需要压缩,比如我们看到的XX.min.js是经过压缩的JS. 压缩文件第一个是可以减小文件大小,第二个是对于JS文件,默认会去掉所有的注释,而且会去掉所有的分号,也会将我们的一些参 ...

  7. springcloud微服务架构搭建:服务调用

    spring-cloud调用服务有两种方式,一种是Ribbon+RestTemplate, 另外一种是Feign. Ribbon是一个基于HTTP和TCP客户端的负载均衡器,类似nginx反向代理,可 ...

  8. STS热部署,springboot项目中修改代码不用重新启动服务

    方法如下: 1.在pom文件中引入  devtools  依赖: <dependency> <groupId>org.springframework.boot</grou ...

  9. Reactor模型-单线程版

    Reactor模型是典型的事件驱动模型.在网络编程中,所谓的事件当然就是read.write.bind.connect.close等这些动作了.Reactor模型的实现有很多种,下面介绍最基本的三种: ...

  10. TypeScript的HTML5游戏

    wildfirecode 自动化的基于TypeScript的HTML5游戏开发 自动化的开发流程 在HTML5游戏开发或者说在Web客户端开发中,对项目代码进行修改之后,一般来说,需要手动刷新浏览器来 ...