gpt4 book ai didi

gcc - 在不同目录中使用已编译文件的绝对路径时,如何进行ccache缓存编译?

转载 作者:行者123 更新时间:2023-12-04 19:23:23 32 4
gpt4 key购买 nike

我使用CMake创建一个makefile。 CMake创建包含绝对路径的GCC行。

为了加快编译速度,我使用了ccache。

从不同的位置构建相同的代码(例如,多个开发人员在其主目录下编译相同的代码)会导致ccache缓存未命中。

最佳答案

正如上面的评论中提到的那样,一个问题是预处理器行指令中的任何绝对路径都会被ccache散列,并且如果使用编译器选项-g,则编译器也会发出指向源代码文件的绝对路径。另一个类似的问题是,如果源代码文件的路径在命令行中是绝对路径,则如果代码具有__FILE__宏的扩展名,则该路径将被散列。

解决方案是升级到几天前发布的ccache 3.0。它具有对将绝对路径重写为相对路径以提高命中率的可选支持。请参见手册中的Compiling in different directories

关于gcc - 在不同目录中使用已编译文件的绝对路径时,如何进行ccache缓存编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2008642/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com