Visual studio 如何在VC++;项目
我正在将makefile项目转换为Visual Studio VC++项目。它实际上是C源代码 我在makefile中的一条语句是:Visual studio 如何在VC++;项目,visual-studio,build,visual-c++,Visual Studio,Build,Visual C++,我正在将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源代码,链接之后,删除Bu
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
我在半路上。为了在VisualStudio中生成C模块,我只使用预生成事件
如何将生成的文件包括到编译中,但同时将其从源代码管理和项目管理中排除
或者,有没有更好的方法来满足我的需求 编译器(cl.exe)具有预定义的宏,以及
\uuuu时间戳\uuu
。作为预链接步骤,您可以编译仅包含这些内容的文件。另一种选择是使用预处理器包含生成的文件:
#include "BuildTimeStamp.c"
包含此文件的文件可以是项目中受源代码管理的文件之一。我可能晚了10年,但我喜欢这种简单的方法。我的解决办法是
echo #define DBJ_BUILD_TIMESTAMP __DATE__ " " __TIME__ > build_time_stamp.inc
main.cpp
#include "build_time_stamp.inc"
由于它是在每次构建时生成的,因此会引发(重新)编译main.cpp
#include "build_time_stamp.inc"
printf( "\nBuild time stamp: " DBJ_BUILD_TIMESTAMP );
constexpr auto build_time_stamp = DBJ_BUILD_TIMESTAMP ;
享受……FFWD 10年,然后。。。我认为这种方法没有错。它只能作为宏来完成,即<代码> >定义BuffdIdTimePayStAdEdEype”“γ-TimeOx<<代码>,在C和C++中,实际上是编译时间常数(GASP!)…