mac下用ccache加速cocos2d-x-2.2.3的android版本编译

来源:互联网 发布:淘宝流量分配规则 编辑:程序博客网 时间:2024/05/16 14:12
参考:如何用ccache加速cocos2d-x android版本的编译 http://blog.csdn.net/u012973744/article/details/30499889


说明:

1.原文是cocos2d-x-3.0 ,我是2.2.3, 也一样work!

2.原文从10分钟减少到30秒,但是我使用了prebuild预加载.a文件的,所以只需要10秒钟就弹出选择设备窗口了!


******************************************************************************************************

1.用root身份安装ccache
# brew install --HEAD ccache  




2.切换到当前用户配置和使用ccache,先建本地ccache缓存目录
$cd ~
$mkdir ccache 


3.配环境变量
$vi ~/.bash_profile  在最后添加
export USE_CCACHE=1
export CCACHE_DIR=/Users/wenke/ccache  
export NDK_CCACHE=/usr/local/bin/ccache 


4.让环境变量生效
$ source ~/.bash_profile


5.设置编译文件缓存的大小
$ ccache -M 10G  (注:原文的-F是错的)

Set cache size limit to 10.0 GB


如果前面的CCACHE_DIR不存在,会报错:Segmentation fault: 11




6.编辑$NDK_ROOT/build/core/default-build-commands.mk文件(红色的是需要添加的):

ifneq ($(findstring ccc-analyzer,$(CC)),)  
TARGET_CC       = $(CC)  
else  
TARGET_CC       =  /usr/local/bin/ccache $(TOOLCHAIN_PREFIX)gcc  
endif  
TARGET_CFLAGS   =  
TARGET_CONLYFLAGS =  
  
ifneq ($(findstring c++-analyzer,$(CXX)),)  
TARGET_CXX      = $(CXX)  
else  
TARGET_CXX      = /usr/local/bin/ccache $(TOOLCHAIN_PREFIX)g++  
endif  
TARGET_CXXFLAGS = $(TARGET_CFLAGS) -fno-exceptions -fno-rtti 



这里写绝对路径是为了避免后面在Elipse里面运行项目的时候,报错ccache找不到文件.


7.打开Elipse,先clean,再run,第一次跟平时一样,速度比较慢,所有项目文件编译一次大概2分钟。
然后再clean,再run,一阵滚屏之后,10秒钟就弹出选择设备窗口了!


8.查看缓存文件信息
$ ccache -s
cache directory                     /Users/wenke/.ccache
primary config                      /Users/wenke/.ccache/ccache.conf
secondary config      (readonly)    /usr/local/Cellar/ccache/HEAD/etc/ccache.conf
cache hit (direct)                     0
cache hit (preprocessed)               0
cache miss                            68
called for link                        1
files in cache                       211
cache size                          26.1 MB

max cache size                       5.0 GB



0 0
原创粉丝点击