gpt4 book ai didi

自动工具临时文件

转载 作者:行者123 更新时间:2023-12-02 19:30:51 26 4
gpt4 key购买 nike

我正在尝试调试开源项目的自动工具问题,该项目在配置步骤中失败。我想查看配置尝试运行的代码/可执行文件。

但是,config.log 仅显示某些内容失败(而不是它尝试编译的代码),并且我不知道临时可执行文件存储在哪里(而且它们可能会立即被删除)。

有没有办法让自动工具保留其临时文件?在哪个级别指定它并不重要——无论是使用要配置的参数,还是在生成配置时使用自动配置的参数,甚至是一些 m4 调用。

编辑当出现故障时,configure.log 如下所示:

configure:3285: checking whether we are cross compiling
configure:3293: gcc -o conftest.exe -DU_STATIC_IMPLEMENTATION -O3 conftest.c >&5
configure:3297: $? = 0
configure:3304: ./conftest
configure:3308: $? = 1
configure:3315: error: in `/home/bobthebuilder/Development/icu/build':
configure:3317: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

最佳答案

这是一个完整的黑客攻击,但它确实有效。您可以编辑配置脚本;具体来说,您可以编辑子例程ac_fn_c_try_compile ()。在配置脚本中搜索此行,然后通过在 ac_fn_c_try_compile 的初始声明之后添加这些行来编辑它:

ac_fn_c_try_compile ()
{
echo "=================== " >> config.log
echo "conftest.$ac_ext is " >> config.log
cat conftest.$ac_ext >> config.log
echo "=================== " >> config.log

这将强制每次将 conftest.$ac_ext (即 conftest.c)打印到 config.log 文件中。请记住,每次重新运行 autoconf(如果您正在执行此操作)或 autoreconf 时,此自定义配置脚本都会被覆盖。可能有一种方法可以劫持 ac_fn_c_try_compile 的定义。

关于自动工具临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7207525/

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