首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clang + icecc + ccache

clang + icecc + ccache
EN

Stack Overflow用户
提问于 2013-04-03 12:37:19
回答 1查看 3.7K关注 0票数 4

我试着用clang + icecc + ccache构建。但我不能让它起作用。我成功地在同一个网络上与gcc + icecc + ccache建立了联系。

以下是软件版本:

代码语言:javascript
复制
Clang version  : Ubuntu clang version 3.2-9 (tags/RELEASE_32/final) (based on LLVM 3.2) 
ccache version : 3.1.7
icecc version  : ICECC 0.9.7

我在/usr/lib/ccache中有clang sym链接:

代码语言:javascript
复制
$ ls -l /usr/lib/ccache/clang*
/usr/lib/ccache/clang -> ../../bin/ccache*
/usr/lib/ccache/clang++ -> ../../bin/ccache*

我在/usr/lib/icecc/bin中有clang sym链接:

代码语言:javascript
复制
$ ls -l /usr/lib/icecc/bin/clang*
/usr/lib/icecc/bin/clang -> ../../../bin/icecc*
/usr/lib/icecc/bin/clang++ -> ../../../bin/icecc*

以下是我尝试过的:

我已经尝试将ccache作为路径的第一步env:

代码语言:javascript
复制
export PATH=/usr/lib/ccache:/usr/lib/icecc/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

但它只是没有发布汇编。

我试过先吃icecc

代码语言:javascript
复制
export PATH=/usr/lib/icecc/bin/:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

它给了我这个输出:

代码语言:javascript
复制
ICECC[5240] 14:27:17: icecream seems to have invoked itself recursively!

根据这个线程bug.cgi?id=377761,这是正常的。

我试过只吃冰咖啡:

代码语言:javascript
复制
export PATH=/usr/lib/icecc/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

但它只是没有发布汇编。

所以我被困在这里,我找不到任何东西说它是不可能的,所以如果有人有一个解决方案,或者一个替代方案(与icecc不同)。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-04-09 21:16:32

若要与另一个编译器包装一起使用ccache,请将CCACHE_PREFIX设置为另一个包装器。就你而言:

代码语言:javascript
复制
export PATH=/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export CCACHE_PREFIX=icecc

这样做更好的原因有几个:

  • 实际上很管用。
  • 编译器升级将被正确检测到。
  • 缓存的结果将在带有icecc的编译和不带icecc的编译之间共享。
  • 当运行预处理器时,ccache不会不必要地调用icecc。

与其他编译器包装一起使用ccache部分ccache手册中阅读更多内容。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15787570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档