代码之家  ›  专栏  ›  技术社区  ›  Cheeso

如何在VC++项目中包含生成时间戳?

  •  2
  • Cheeso  · 技术社区  · 15 年前

    我正在将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模块,我只使用预生成事件。

    alt text http://i28.tinypic.com/zn4ie1.jpg

    如何将生成的文件包含到编译中,同时也将其从源代码控制和项目管理中排除?

    或者,有没有更好的方法来做我想做的?

    2 回复  |  直到 15 年前
        1
  •  3
  •   Martin v. Löwis    15 年前

    编译器(cl.exe)具有预定义的宏 __DATE__ and __TIME__ 以及 __TIMESTAMP__ . 您可以编译一个只包含这些内容的文件作为预链接步骤。

        2
  •  0
  •   1800 INFORMATION    15 年前

    另一种选择是使用预处理器包含生成的文件:

    #include "BuildTimeStamp.c"
    

    包含此文件的文件可以是项目中受源代码管理的文件之一。