2017-05-30 70 views
2

我想讓我的項目生成一個帶有相關編譯數據(編譯器版本,lib版本,日期,git commit等)的文件。所以我的問題是,如何才能在編譯時運行它,何時才能訪問所需的信息?在編譯時生成信息文件

+1

當問及如何使構建系統做某些事情時,提及您正在使用的構建系統可能會很有用。我可以猜測qmake? – Yakk

+0

你想要的是一個編譯過程的日誌,如果可用的話,應該是你的編譯器的配置... –

回答

3

編譯日誌怎麼樣?如果它沒有提供足夠的信息,則可以創建一個腳本來收集數據並將其打印到文件中。

  • 編譯器版本:

    • 對於Visual Studio,您可以檢查this answer
    • 如果你的編譯器是gcc,使用gcc --version
  • 當前的git commit可以通過here描述的任何方法獲得。

  • 庫版本將取決於每個具體情況:也許編譯日誌有對其中的一些數據,打印庫路徑(例如有時目錄中包含的版本號,至少對某些庫)等

  • 當前日期/時間:

    • 慶典:date +%Y-%m-%d:%H:%M:%S
    • Windows的命令行,檢查this answer

最後,該腳本可以被調用爲您生成文件或在Visual Studio項目的情況下,post-build event的最後一步。