背景
打算学写游戏,新手向,当然从cocos2d-x开始.
看了cocos的文档,安装是针对ubuntu的,这里记录下centos7上安装、编译、运行测试的过程。
如果你已经有ubuntu,不推荐看此文.
kernal:
3.10.0-229.4.2.el7.x86_64
下载并解压cocos2d-x
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
如下图所示: