2009-08-23 11 views
2

私はmakefileプロジェクトをVisual Studio VC++プロジェクトに変換しています。実際にはCのソースコードです。私は私のメイクファイルを持っている文のVC++プロジェクトにビルドタイムスタンプを含めるにはどうすればいいですか?

一つは次のとおりです。

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

makefileで、私は、すべてのコンパイル:

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

は、これはそれで一つのラインでCのソースファイルを生成しますcl.exeでCソースを作成し、リンクしたらBuildTimestamp.cファイルを削除します。これは、私に文字列としてのバウンド時間を提供するグローバルシンボルを与えます。

VS2008プロジェクトで同じことを行うにはどうしたらいいですか? MSBuildではないことに注意してください。

私はそこに途中です。 Visual Studioでビルド時にCモジュールを生成するには、ビルド前のイベントを使用するだけです。

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

はどのようにしてコンパイルにファイルを生成するだけでなく、ソース管理とプロジェクト管理から除外することを含んでいますか?

または、私がしたいことをする良い方法がありますか?

答えて

3

コンパイラ(cl.exe)には、あらかじめ定義されたマクロ__DATE__ and __TIME____TIMESTAMP__があります。事前リンクステップとしてこれらのみを含むファイルをコンパイルすることができます。このファイルは、ソース管理下にプロジェクト内のファイルのいずれかにすることができ含み

#include "BuildTimeStamp.c" 

ファイル:

+0

すごく簡単です。非常に役立ちます。 – Cheeso

0

別の方法としては、生成されたファイルを含めるようにプリプロセッサを使用することです。

関連する問題