我需要获取模块的构建日期。我使用__DATE__
宏。但是,如果包含此宏的文件看起来没有更改,则它不会被编译,并且生成日期仍然旧且不正确。如何确保构建日期更新?也许还有另一种获取模块构建日期的方法?
最佳答案
您编写的所有内容都是正确的,并且可以正常工作:
当您使用构建系统时,仅当文件已更改时才编译文件,即,该文件比相应的目标文件新。因此,您将始终获得编译该特定文件的日期。
要在每次更改应用程序/库的任何文件时获取新的构建日期,您必须确保也每次都构建用于存储构建日期的文件。
通常,构建系统支持类似这样的选项,例如“始终构建”。另一种(不推荐)的方法是每次编译前都删除目标文件。或者(甚至更糟),始终进行干净的构建,即删除所有内容并每次构建所有内容。
关于c++ - C++中的实际构建日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56882541/