2009-08-23 26 views
2

我正在將makefile項目轉換爲Visual Studio VC++項目。它實際上是C源代碼。如何在VC++項目中包含構建時間戳?

我有我的生成文件的說法是:

echo char * gLibraryBuildSig ="%DATE% %TIME%"; > BuildTimestamp.c 

這將產生一個C源代碼文件中有一個單行:

char * gLibraryBuildSig ="Sun 08/23/2009 17:56:05.05"; 

在生成文件,然後我編譯所有C源代碼與cl.exe,鏈接後,刪除BuildTimestamp.c文件。這給了我一個全局符號,它提供了一個字符串的泡泡時間。

如何在VS2008項目中做同樣的事情?請記住它不是MSBuild。

我在那裏。要在Visual Studio中生成一個C模塊,我只使用預生成事件。

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

怎樣包括生成的文件到編譯,而且從源頭控制和項目管理排除呢?

或者,有沒有更好的方法來做我想要的?

回答

3

編譯器(cl.exe)具有預定義的宏__DATE__ and __TIME__以及__TIMESTAMP__。您可以將僅包含這些文件的文件編譯爲預鏈接步驟。

+0

哇,要容易得多。很有幫助。 – Cheeso 2009-08-23 22:27:49

0

另一種替代方法是使用預處理器爲包括所生成的文件:

#include "BuildTimeStamp.c" 

包括該文件可以是源控制下的項目中的文件中的一個文件。

相關問題