【问题标题】:Using ccache when cross-compiling with autotools使用自动工具进行交叉编译时使用 ccache
【发布时间】:2016-05-19 02:56:28
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: cross-compiling autotools configure autoconf ccache


    【解决方案1】:

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

    $ which -a gcc

    /usr/lib/ccache/gcc

    /usr/bin/gcc

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

    【讨论】:

      【解决方案2】:

      没有,如果要使用 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-03-16
        • 2015-04-20
        • 1970-01-01
        • 2019-01-08
        • 1970-01-01
        • 2023-04-10
        • 1970-01-01
        • 2013-05-10
        • 1970-01-01
        相关资源
        最近更新 更多