kubuntu 14.04 编译 cocos2d-x 3.6
这是我第三次在linux发行版编译cocos2d-x。
首先是一些必要的依赖库,比如gl,glu,X* 之类的,这类基本上在缺失的时候都会有提示。
然后是一些官方已经编译好的依赖,可以使用download-deps.py脚本下载。
重点介绍3个库:glew3, glfw3, libcurl
这三个库我都是从源代码安装的,前两个是因为ubuntu的源里没有(fedora和archlinux的源里都有),最后一个是因为安装时候有4个可选,我有选择困难癌,所以选择了自己从源代码安装。
glew3
glew3从github获取代码后,先到auto目录下执行1
$ make
大致过程是从拉取registry,然后解析生成glew.c
然后切换目录到glew3源码根目录,执行1
2
3$ make
$ sudo make install
$ make clean # 如果需要的话如果是64位系统,会把编译结果的.so和.a复制到/usr/lib64,并且把头文件复制到/usr/include/GL目录下。
值得一提的是,就算这样如果ld.so.conf没有配置/usr/lib64路径,使用glew库的应用程序依然会报错,这时候你需要修改/etc/ld.so.conf文件,然后使用1
$ sudo ldconfig
更新so缓存。
glfw3
安装glfw3大致过程类似,首先是下载代码,然后用cmake生成makefile,然后执行1
$ make && sudo make install
以上是直接安装到系统目录的做法,接下来是一种自定义目录的做法
- libcurl
先是下载curl源代码,然后用cmake配置一下(推荐用gui),因为我们只需要静态库,还需要配置cmake的CMAKE_INSTALL_PREFIX(指定了我们待会生成的文件将被复制到哪里,我的目录是~/cocos2d-x/deps)。
然后配置好的cmake,执行然后需要修改1
$ make && make install
$COCOS2D/cmake/Modules/FindCURL.cmake
在find_path()的参数中加入:PATHS 自定义依赖目录的路径/include
在find_library()的参数中加入:PATHS 自定义依赖目录的路径/lib
如果你的系统里有应用程序依赖就的glew或glfw,那么1和2其实也可以按照3这种做法来,区别其实不大,无非就是花点工夫找到对应的Find*.cmake(可以利用cmake生成错误信息定位)