问题标签 [ccache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
path - 如何让 ccache 不将编译器的完整路径传递给 distcc
(这与问题ccache 和绝对路径不同,因为我只希望命令路径不在 ccache 主机上扩展)
当ccache和distcc一起使用时,ccache是把编译器扩展成绝对路径,然后distcc就不能使用远程机器上的PATH来选择使用哪个编译器了。
例如,我调用CCACHE_PREFIX=distcc ccache g++ foo.cc
ccache将其扩展为本地预处理步骤和缓存检查,然后调用 distcc as distcc /usr/bin/g++
,这是错误的版本(g++ 位于 /usr/bin 之前的远程路径中,但这并没有给出它完全有机会搜索路径)。
我有各种不同的机器被用作 distcc 主机,它们在不同的位置安装了相同版本的 gcc/g++(是的,如果我把它们都放在像 /usr/local 这样的地方,这个问题就会消失,但我不能现在就这样做)。
是否有设置让 ccache 仅传递g++
给 distcc 而不是将路径扩展到本地编译器的绝对路径?如果还没有设置,我并不完全反对修补 ccache,但这是最后的手段:)
build-process - Qmake scons generator
We would like to use scons for building on Windows, mainly because of its caching facilities (we use ccache on Linux, and compiliation is considerably faster there). However, all our projects are defined in qmake .pro files. The way building now works, is that we call qmake to generate a Makefile, which we then use to build with jom. Having .pro files on a high level is quite practical, so we would like to keep that and not replace the .pro files by SConfigure files. So ideally we would have qmake generate a SConfigure file, the same way it generates a Makefile now, and then run scons on that SConfigure file. Is there something out there that can do that, maybe some generator for qmake? Or is it somehow possible to convert the Makefile created by qmake into an SConfigure file?
(I'm aware that the functionality of scons and qmake overlap, for instance the dependency generation and that it would likely be better to use just scons by itself, however, qmake works quite well for Qt projects and can also generate visual studio files, so we would like to keep it.)
performance - ccache的缺点
我正在使用 ccache 进行实验,但我不太确定我应该使用它。任何人都可以解释 ccache 可能导致错误行为的情况。或者我们应该总是使用 ccache 吗?任何得到 ccache 的人都在生成错误的目标文件或头文件的更改没有被考虑?
c - 如何在 Make 中使用 ccache?
我有一个使用 makefile 编译代码的源目录。此 makefile/配置文件不是为了 ccache 兼容性而编写的。所以我想用ccache。我在 .bashrc 中创建了别名 as alias gcc='ccache gcc'
,但是 Makefile 仍然没有考虑 gcc 的这个定义。那么有什么我可以在不触摸Makefile/configure
文件的情况下做的事情,ccache gcc
而不是gcc
. CC='ccache gcc' ./configure 也不是一个选项,因为它不要求 CC。
如果我编写 Makefile,那么我可以提供 ${gcc),但这不是一个选项,因为我不是在编写 Makefile。有什么方法我们不需要更改源文件中的任何内容,但仍然启用ccache
编译。
linux - linux构建系统工具
我们的项目变得相当大,我们的构建系统不再扩展。我们正在linux机器上进行跨平台开发。我们有太多的平台可以构建,甚至更多的构建选项。我们认为我们需要升级基于 Makefile 的构建环境。
这些是要求(在理想世界中):
- 快速(所以没有 libtool)
- 可以进行并行构建
- 交叉编译友好
- Ccache 集成
- 如果满足某些条件,增量构建是否会短路(如果 a、b、c 选项未更改则短路,如果更改则重建)
- 易于编写脚本(python 集成将是完美的)
- 用户友好的语法
- 分布式系统。模块可以相互分开开发
- 可以构建第三方库(使用自动工具、cmake ..)
- 可以跟踪模块之间的依赖关系(但足够灵活,以便模块可以被替代的外部模块替换)。
- 内置单元测试支持
- 大型二进制文件可以与版本控制分开存储,如果需要可以下载
- 可以跟踪开源许可证
- git集成
您是否知道可以满足(至少部分)这些要求的任何工具(或工具组)?目前我倾向于gyp+ninja。但是语法不是很友好,也没有文档。所以这是一个艰难的销售。
ccache - 什么时候使用ccache?
据我所知,ccache 通过捕获以前的编译并检测何时再次完成相同的编译来加速编译。然而,makefile 做同样的事情。那么我们为什么需要ccache呢?我们什么时候使用它?谢谢!
c++ - 在 Windows 上使用 Qt Creator 设置 ccache
我正在尝试在 Windows 上的 Qt Creator 中设置 ccache。
不幸的是,我找不到任何好的指导。如何让它工作?
我已经用 Cygwin 安装了 ccache。
编辑:
我试过添加
作为 qmake 构建步骤中的附加参数。
但是在编译输出中我仍然有“g++ -c -g -Wall ...”,我想它应该是“ccache g++ ...”
c++ - 为什么 ccache 不经常与 gcc 一起使用?
我一直在想...
ccache 有一些限制吗?
如果后期编译时间的差异如此之大,为什么没有更多的 Linux 开发人员更频繁地使用 ccache?
shared - ccache 基于(共享)配置
环境是 Ubuntu 12
我有相同版本的两个不同版本。
一个位于 /media/CM10/custom 另一个位于 /home/malachi/CM10/android/system
我有一个专门的 build-setup.sh,它由主构建过程调用,它们每个都有:
CCACHE_BASEDIR=/媒体/CM10/自定义
和
CCACHE_BASEDIR=/home/malachi/CM10/android/system
但是,这绝对不是两者之间的共享。缓存大小约为 3.9GB,如果我重复的话,它会保留在那里。如果我做另一个,它会增长到超过 7GB。
当我检查 ccache 日志时,它似乎正在拾取基本目录并重写相对路径。任何线索如何让 ccache 在这两者之间正确共享?谢谢
linux - 如何在 Linux 上启用 ccache
ccache
关于在 GNU/Linux上启用的文档很少。这是来自launchpad.net的回复:
目前,我认为启用 ccache 的最佳方法是将“/usr/lib/ccache”添加到路径的前面。如果要默认为所有用户启用它,请更改 /etc/environment 中的 PATH 变量。
有人可以给我更多关于启用的信息ccache
吗?