【发布时间】:2010-11-22 03:01:18
【问题描述】:
我正在将 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 文件。这给了我一个全局符号,以字符串形式提供 bubild 时间。
如何在 VS2008 项目中做同样的事情?请记住,它不是 MSBuild。
我在其中。为了在 Visual Studio 中构建时生成 C 模块,我只使用预构建事件。
如何将生成的文件包含在编译中,同时将其从源代码控制和项目管理中排除?
或者,有没有更好的方法来做我想做的事?
【问题讨论】:
-
FFWD 10 年,并且......我认为这种方法没有任何问题。只有它可以作为宏来完成——
#define BUILD_TIMESTAMP __DATE__ " " __TIME__,在 C 和 C++ 中实际上是编译时间常数(喘气!)...
标签: visual-studio build visual-c++