了解编译后配置脚本使用了哪些标志

了解编译后配置脚本使用了哪些标志

假设我正在编译某个应用程序(代码库采用 C 语言编写,使用 gcc 作为默认编译器,从 github 克隆 git...)并执行./configure --flags1 --flags2 ...

编译完成后,我想知道我使用的标志./configure(在这个假设的情况下,我无法通过查看我的 shell 历史记录来知道它,因为它丢失了)。

标志列表可能很长,我不想浪费时间寻找这些标志(特别是因为有些标志无法记录在前面提到的应用程序中)。

有什么方法可以知道用于编译的应用程序的标志吗?也许通过查看./configure生成的任何文件?

答案1

他们在config.log

head -n8 config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.52.20190901.  Invocation command line was

  $ ./configure --enable-trace

您可以使用 Makefile 中的一些 sed 轻松解析该信息,并将该信息作为字符串包含在二进制文件中。不过,我不知道是否有其他程序可以做到这一点;-)

相关内容