了解編譯後設定腳本使用了哪些標誌

了解編譯後設定腳本使用了哪些標誌

假設我正在編譯一些應用程式(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 輕鬆解析該訊息,並將該資訊作為字串包含在二進位檔案中。不過,我不知道是否有其他程式可以做到這一點;-)

相關內容