c++ - 编译时生成信息文件

标签 c++ qt compilation qmake

我试图让我的项目生成一个包含相关编译数据(编译器版本、lib 版本、日期、git 提交等)的文件。所以我的问题是如何使其仅在编译时运行,以便它可以访问所需的信息?

最佳答案

编译日志呢?如果它没有提供足够的信息,您可以创建一个脚本来收集数据并将其打印到文件中。

  • 编译器版本:

    • 对于 Visual Studio,您可以检查 this answer .
    • 如果您的编译器是 gcc,请使用 gcc --version
  • 当前的 git 提交可以通过描述的任何方法 here 获得.

  • 库版本将取决于每种特定情况:编译日志可能包含其中某些库的数据,打印库路径(有时此类目录包含版本号,至少对于某些库而言),等等。

  • 当前日期/时间:

    • bash:日期 +%Y-%m-%d:%H:%M:%S
    • Windows 命令行,检查 this answer .

最后,该脚本可以作为 makefile 中的最后一步或作为 post-build event 来调用。对于 Visual Studio 项目。

关于c++ - 编译时生成信息文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44268250/

相关文章:

Qt : button click => a message should appear in a haskell program

c++ - 如何在不安装sdk的情况下编译Qt程序

c++ - 在 Cython 中包装 C++ 结构

c++ - 为什么删除指向指针 vector 的指针会导致指针无效?

qt - 如何从 QVBoxLayout 中删除(子)布局项?

c++ - 慢链接阶段

c++ - 什么时候应该使用命名空间和单独编译? (是否可以在类外使用单独编译?)

c++ - 使用设备 VID/PID 打开 USB 串口

c++ - 调整图片大小 vc++

c++ - Qt转换unicode实体