我将ccache与git-worktree结合使用。因此,许多相同的文件在多个目录中共享。问题是,ccache不检查文件是否相同,并再次编译。是否有一个ccache选项允许它检查跨多个源目录的缓存?
发布于 2018-02-13 18:39:32
如果使用-g,则ccache (默认情况下为3.3版本)将当前工作目录添加到哈希中,这只会使在同一个源目录中获得缓存命中成为可能。另一个类似的问题是,如果在编译器参数中使用绝对路径,则需要使用base_dir配置设置。
在ccache手册中的“在不同目录中编译”一节提供的更多细节
1. use the `-fdebug-prefix-map=old=new` option for relocating debug info to a common prefix (e.g. `-fdebug-prefix-map=$PWD=.`); or
2. set `hash_dir = false`.
-I和-MF)的参数),则必须将base_dir设置为“基本目录”的绝对路径。然后,ccache将在计算哈希之前将该目录下的绝对路径重写为相对路径。https://stackoverflow.com/questions/43357006
复制相似问题