单个源文件
__DATE__、__TIME__宏定义
多个源文件
假设__DATE__、__TIME__宏定义位于a.c文件中,而只改动了b.c文件,编译时间就不会被更新。
1.cmakelist实现打印最新编译时间
可以借助cmakelist实现打印最新编译时间,但是只在运行camkelist文件时会更新编译时间,make时不会更新
1.1创建存储从cmakelist中获取编译时间的文件
build_date.h.ini
#define COMPILE_TIMESTAMP "@COMPILE_TIMESTAMP@"
1.2cmakelist中添加相应命令获取编译时间
cmakelist文件中
string(TIMESTAMP COMPILE_TIMESTAMP "%Y-%m-%d %H:%M:%S")
configure_file(${PROJECT_SOURCE_DIR}/src/gui/build_date.h.ini ${PROJECT_SOURCE_DIR}/src/gui/build_date.h)
1.3生成build_date.h文件
#define COMPILE_TIMESTAMP "2023-11-06 15:56:22"
总结
目前只学到了cmakelist实现最新编译时间打印,且只打印最新运行了cmakelist文件的编译时间,不知道是否有其他方法能够打印每次make之后的时间