Cross compiling 使用autotools交叉编译时使用ccache

Cross compiling 使用autotools交叉编译时使用ccache,cross-compiling,autotools,configure,autoconf,ccache,Cross Compiling,Autotools,Configure,Autoconf,Ccache,我知道交叉编译基于autoconf的项目的标准方法: $./configure--host=i686-w64-mingw32 但是,如果我想使用ccache呢 我知道我可以覆盖CC和CXX变量(例如CC=“ccache i686-w64-mingw32-gcc”。/configure--host=i686-w64-mingw32)。然而,这似乎是多余的,而且容易出错 有没有一种标准的方法,我不知道,就像某些CC_前缀变量一样?没有,如果你想使用ccache,你必须更改你的CC/CXX参数以及传递

我知道交叉编译基于autoconf的项目的标准方法:

$./configure--host=i686-w64-mingw32

但是,如果我想使用ccache呢

我知道我可以覆盖CC和CXX变量(例如CC=“ccache i686-w64-mingw32-gcc”。/configure--host=i686-w64-mingw32)。然而,这似乎是多余的,而且容易出错


有没有一种标准的方法,我不知道,就像某些CC_前缀变量一样?

没有,如果你想使用ccache,你必须更改你的
CC
/
CXX
参数以及传递
--host

顺便说一下,我更喜欢

./configure --host=i686-w64-mingw32 \
    CC="ccache i686-w64-mingw32-gcc" CXX="ccache i686-w64-mingw32-g++"
而不是预先固定环境变量。这样,如果您使用的是maintainer模式,它们将被正确记录为
config.log
/
config.cache
中的覆盖。

我发现的最好的方法(我现在正在使用)是使用符号链接和路径魔法:

$which-a gcc

/usr/lib/ccache/gcc

/usr/bin/gcc

这样,在调用./configure时就不需要特别的选项,他甚至看不到这个构建中存在ccache