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