5

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

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

但是,如果我想使用 ccache 怎么办?

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

有没有标准的方法,我错过了,比如一些 CC_PREFIX 变量?

4

2 回答 2

6

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

顺便说一句,更喜欢

./configure --host=i686-w64-mingw32 \
    CC="ccache i686-w64-mingw32-gcc" CXX="ccache i686-w64-mingw32-g++"

而不是预先修复环境变量。这样,如果您使用维护者模式,它们将被正确记录为config.log/中的覆盖。config.cache

于 2016-02-10T00:35:12.460 回答
-1

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

$ which -a gcc

/usr/lib/ccache/gcc

/usr/bin/gcc

这样,在调用 ./configure 时不需要特殊选项,他们甚至看不到此构建中存在 ccache。

于 2017-09-21T05:59:45.100 回答