CCACHE的意思是"呼叫链接"
CCACHE统计量"要求链接"的含义.我以为Ccache只包裹了编译器,而不是链接器? [Brian@localhost ~]$ ccache -s cache directory /home/Brian/.ccache cache hit (direct) 19813 cache hit (preprocessed) 67 cache miss 11 called for link 498 called for preprocessing 10 unsupported source language 472 no input file 12 files in cache
16 2024-04-08
编程技术问答社区
如何在Make中使用ccache?
我有一个源目录,该目录使用makefile来编译代码.此MakeFile/配置文件不是为CCACHE兼容而编写的.所以我想使用ccache.我以.bashrc为alias gcc='ccache gcc'创建了别名,但是Makefile仍未考虑GCC的定义.因此,我可以在不触摸Makefile/configure文件的情况下可以做任何事情,因此需要ccache gcc而不是gcc. 另外CC ='CCACHE GCC'./configure不是一个选项,因为它不要求CC. 如果我编写makefile,那么我可以提供$ {gcc),但这不是一个选择,因为我不是写makefile.有什么方法我们不需要更改源文件中的任何内容,但仍启用ccache编译. 解决方案 如精细的手册:创建一个符合符号,名为" GCC" GCC "在包含真实GCC的目录中列出的目录中.这将导致CCache透明地使用,而无需对Makefile进行任何更改. 其他解决方案 别名是它们创建的外壳的本地;
16 2024-04-08
编程技术问答社区
是否有Visual Studio的'ccache'?
我知道scons实现了ccache的功能,但是我被另一个构建系统所困. 我也知道SourceForge上有一个gocache旨在为其他编译器实现ccache的功能,但似乎不完整. 解决方案 一个无耻的插头,但是我写了一个python脚本,它试图像ccache一样工作,但可以包装MSVC.请参阅 https://github.com/frerich/clcache 其他解决方案 有一个其他解决方案 https://github.com/inorton/cclash 它更多的是插头.我一直在使用它来刮胡子约35%的Cygwin Visual Studio 2012 Build.
8 2024-04-04
编程技术问答社区
Bazel使用ccache构建C++样本失败
我一直在遵循OSX INFO: Analysed target //main:hello-world (0 packages loaded). INFO: Found 1 target... ERROR: /Users/myuser/work/temp/bazel-sample/examples/cpp-tutorial/stage1/main/BUILD:1:1: Linking of rule '//main:hello-world' failed (Exit 1) ccache: error: Failed to create temporary file for /Users/myuser/.ccache/6/stats.tmp: Operation not permitted Target //main:hello-world failed to build Use --verbose_failures to see the command lines of failed bu
14 2024-03-29
编程技术问答社区
如何让Bazel、ccache和沙箱一起工作(ccache只读文件系统)。
我正在尝试使用通过COPR安装的Bazel 0.16.1在Fedora 28上构建C ++应用程序,并通过DNF安装了CCACHE 3.4.2.我正在使用默认的cc_binary和cc_library规则.当我运行bazel build命令时,ccache错误以: ccache: error: Failed to create temporary file for /home/mwalker/.ccache/tmp/time.stdout: Read-only file system 我可以看到使用--verbose_failures --sandbox_debug构建时,我们没有安装ccache tmp目录r/w. 那么,我如何让Bazel安装我的CCACHE目录R/W,或者如何通过Bazel告诉CCACHE,我的工作空间正确的高速缓存目录? 当我在Ubuntu 18.04上运行相同的命令时,它成功了,因此这使我相信Ccache在某种程度上受到了支持. 看来
6 2024-03-29
编程技术问答社区
如何使用ccache来加快aosp的编译速度?
我在这里找到了ccache aosp repo /,但是我不知道如何在AOSP V10上使用CCACHE,官方AOSP网站不再有任何信息,只有多个构建. CCACHE是否仍可使用最近版本的AOSP? 解决方案 我们不再提供CCACHE PRED构建. 我们的 很老,并且有许多触发不可再生的问题 结果和其他失败.较新的CCACHE版本可能会解决其中一些 问题,但是在我们的构建服务器的大规模上,我们没有看到 使用CCACHE的大量性能增长 - 您最终需要非常需要 如果您正在建造许多不同的地方,则良好的地方和/或非常大的缓存 配置. 当地的不变全面重建表现出更好的结果,但是为什么不只是 在此时使用增量构建? 所以,如果您仍然想使用CCACHE,请继续设置USE_CCACH,但也设置 CCACHE_EXEC环境变量到CCACHE可执行的路径. https://cs.android.com/android/platform/superproject/+/And
48 2024-02-18
编程技术问答社区
如何在CMake中使用CCache?
我想执行以下操作:如果路径中存在CCACHE,请使用" CCache G ++"进行编译,否则请使用G ++.我尝试编写一个包含 的小型my-make脚本 CC="ccache gcc" CXX="ccache g++" cmake $* ,但它似乎不起作用(运行Make仍然不使用CCACHE;我使用cmake_verbose_makefile对此进行了检查). 更新: 按照 P> cmake -D CMAKE_CXX_COMPILER="ccache" -D CMAKE_CXX_COMPILER_ARG1="g++" -D CMAKE_C_COMPILER="ccache" -D CMAKE_C_COMPILER_ARG1="gcc" $* ,但cmake措手不及,抱怨测试未能使用编译器CCACHE(可以预期). 解决方案 我个人在$PATH中有/usr/lib/ccache.该目录包含可以调用编译器的每个可能名称的符号链接的负载(例
8 2023-11-08
编程技术问答社区
在不同目录下使用绝对路径的编译文件时,如何使ccache缓存编译?
我使用cmake创建makefiles. Cmake创建包含绝对路径的GCC线. 为了加快汇编,我使用ccache. 从不同位置构建相同的代码(例如,几个开发人员编译了相同的代码,每个代码在其主目录下)导致CCACHE CADES MISSES. 解决方案 如上所述,一个问题是,预处理器线指令中的任何绝对路径均由CCACHE HASH HASH,如果使用了编译器选项-g,则编译器会发出通往源的绝对路径代码文件.另一个类似的问题是,如果源代码文件的路径在命令行上是绝对的,则如果代码具有__FILE__宏的扩展,则该路径将被哈希. . 解决方案是升级到几天前发布的CCache 3.0.它具有可选的支持,可将绝对路径重写为相对路径以提高命中率.请参阅其他解决方案 好吧,也许可以说明:您必须要求Mmake才能产生相对路径,或者修改CCACHE以将缓存条目视为匹配,如果唯一的区别是绝对路径. . 我已经修改了我的ccache副本以忽略-pipe在计算哈希时(用于命
44 2023-03-15
编程技术问答社区
g++、colorgcc和ccache
尝试结合CCACHE和CORORGCC.如下链接文本: 我的G ++是colorgcc的软链接 〜/.colorgcrc包含行:" g ++:ccache/usr/bin/g ++" 运行G ++时 - version接收: Can't exec "ccache /usr/bin/gcc": No such file or directory at /usr/lib/perl5/5.8.8/IPC/Open3.pm line 246. open3: exec of ccache /usr/bin/gcc --version failed at /usr/local/bin/colorgcc/gcc line 208 有什么想法如何解决? 解决方案 刚刚遇到了同样的问题.对我来说,可以通过仔细设置环境变量来解决问题: # Make "g++" command call colorgcc export PATH="/usr/lib/colorgcc/
48 2022-10-06
编程技术问答社区
'ccache'配置
我有一个关于 ccache 配置的问题.在我们的开发环境中,我们有数百个使用绝对路径构建对象的 make 文件. 我想加快进程并使用 ccache.不幸的是,当从不同位置编译时,我可以看到缓存未命中.下面是一个例子源文件放置在不同目录中的简化情况.如何设置 ccache 以获得正确的命中率? 我尝试设置 CCACHE_BASEDIR 变量但没有成功: developer@crunchbang:~$ pwd /home/developer developer@crunchbang:~$ ccache -s cache directory /home/developer/.ccache cache hit (direct) 0 cache hit (preprocessed) 0 cache miss 0 files
190 2022-08-13
编程技术问答社区
ccache和绝对路径
我使用 cmake 创建一个 makefile.cmake 创建包含绝对路径的 gcc 行.为了加快编译速度,我使用了 ccache. 从不同位置构建相同的代码(例如,多个开发人员编译相同的代码,每个代码都在其主目录下)会导致 ccache 缓存未命中. 谷歌搜索,但没有找到好的答案. 解决方案 正如上面评论中提到的,一个问题是预处理器行指令中的任何绝对路径都被 ccache 散列,如果编译器选项 -g 是使用时,编译器也会发出源代码文件的绝对路径.另一个类似的问题是,如果源代码文件的路径在命令行上是绝对路径,那么如果代码有 __FILE__ 宏的扩展,该路径将被散列. 解决办法是升级到前几天发布的ccache 3.0.它可选择支持将绝对路径重写为相对路径,以提高命中率.请参阅手册中的在不同目录中编译.
1466 2022-07-19
编程技术问答社区
如何在CMake中使用CCache?
我想做以下事情:如果 CCache 存在于 PATH 中,则使用“ccache g++"进行编译,否则使用 g++.我尝试编写一个包含 的小型 my-cmake 脚本 CC="ccache gcc" CXX="ccache g++" cmake $* 但它似乎不起作用(运行 make 仍然不使用 ccache;我使用 CMAKE_VERBOSE_MAKEFILE 对此进行了检查). 更新: 根据 此链接我尝试将脚本更改为 cmake -D CMAKE_CXX_COMPILER="ccache" -D CMAKE_CXX_COMPILER_ARG1="g++" -D CMAKE_C_COMPILER="ccache" -D CMAKE_C_COMPILER_ARG1="gcc" $* 但是 cmake 会抱怨使用编译器 ccache 测试失败(这是可以预料的). 解决方案 我个人的 $PATH 中有 /usr/lib/ccache.该目录
1648 2022-07-19
编程技术问答社区
是否有Visual Studio的Ccache?
我知道 scons 实现了 ccache 的功能,但我被另一个构建系统卡住了. 我还知道 sourceforge 上有一个旨在实现 ccache 的 gocache 项目-类似其他编译器的功能,但似乎不完整. 解决方案 如果您有一些预算,请查看 Xoreax Incredibuild.它可以满足您的需求,而且它是一款备受推崇的软件. Ccache 在 VS 中不起作用,并且没有真正的免费替代方案.如果您成功创建了一个,许多开发人员将非常感激.
736 2022-07-19
编程技术问答社区