我使用的centos6.x的系统,7.x大同小异,安装linux下的glew和glfw底层包和依赖包。
1.下载cocos2dx的包,我这里使用的是cocos2d-x-3.3.zip。
2.安装依赖包,使用yum直接安装
cmake.x86_64
gcc-c++.x86_64 (这里安装的必须是高于4.7版本,4.7之后的才支持c++11的功能,安装必须要先升级gcc)
mesa*
libXrandr-devel.x86_64
xorg-x11-apps.x86_64
xorg-x11-drv*
libXi-devel.x86_64
libcurl-devel.x86_64
3.安装 glew-2.1.0.tgz,glfw-3.2.tar.gz这两个包需要源码安装。
glew安装:
make clean
make all
make install.all
glfw安装:
mkdir build
cd build
cmake .. -DBUILD_SHARED_LIBS=ON -G "Unix Makefiles"
make
make install
ldconfig
测试:编译cocos2dx自带的项目
cd cocos2d-x-3.6/build
cmake ..
make
运行:
bin/cpp-empty-test/cpp-empty-test
注意:
找不到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