Configure
知道編譯後配置腳本使用了哪些標誌
假設我正在編譯一些應用程序(C 中的程式碼庫,使用 gcc 作為預設編譯器,從 github 複製的 git ……)並做
./configure --flags1 --flags2 ...
編譯完成後,我想知道我使用的標誌
./configure
(在這個假設的情況下,我無法通過查看我的 shell 歷史來知道它失去了)。標誌列表可能很長,我不想浪費時間尋找這些標誌(特別是因為有些標誌無法在前面提到的應用程序中記錄)。
有什麼方法可以知道用於已編譯應用程序的標誌?也許通過查看
./configure
生成的任何文件?
他們在
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 輕鬆解析它,並將該資訊作為字元串包含在二進製文件中。不過,我不知道是否有任何其他程序這樣做;-)