我正在将 makefile 项目转换为 Visual Studio VC++ 项目。它实际上是C源代码。
我的 makefile 中的语句之一是:
echo char * gLibraryBuildSig ="%DATE% %TIME%"; > BuildTimestamp.c
这会生成一个包含一行的 C 源文件:
char * gLibraryBuildSig ="Sun 08/23/2009 17:56:05.05";
在 makefile 中,我使用 cl.exe 编译所有 C 源代码,链接后删除 BuildTimestamp.c 文件。这给了我一个全局符号,它将生成时间作为字符串提供。
如何在 VS2008 项目中做同样的事情?请记住,它不是 MSBuild。
我已经到了一半了。为了在 Visual Studio 中生成时生成 C 模块,我只需使用预生成事件。
如何将生成的文件包含到编译中,同时将其从源代码控制和项目管理中排除?
或者,有更好的方法来做我想做的事吗?
最佳答案
编译器 (cl.exe) 具有预定义宏 __DATE__
and __TIME__
,以及__TIMESTAMP__
。您可以编译仅包含这些内容的文件作为预链接步骤。
关于visual-studio - 如何在 VC++ 项目中包含构建时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1319700/