强制MS VS2010在每次构建时重建一个cpp文件

Mac*_*cky 10 c++ visual-studio-2010

在一个cpp文件中,我使用__DATE__宏来获取编译日期.

它给了我该文件最后一次编译的日期.但由于文件不经常更改,因此在大多数情况下日期已经过时,有时甚至是几个月.

我真正想要的是项目最后一次构建的日期.

是否有设置强制VS2010在项目的每次编译时重建该单个cpp文件?无论文件有什么变化?

我到目前为止找到的唯一方法是在构建之前修改文件或通过脚本删除创建的obj文件,如果可能的话,我更喜欢VS内部的解决方案.

ema*_*tel 13

你很可能添加Pre-Build Step的是touch(见本线)的文件?

要添加a Pre-Build Step,请打开Project Properties,然后Configuration Properties > Build Events > Pre-Build Event添加要执行的命令行Command Line.

根据Amitd的建议,显然您也可以touch使用PowerShell文件,请参阅说明.

正如Adrian McCarthy在下面的评论中所建议的那样,删除.obj文件在使用源代码控制并且您希望保留的情况下更可取.cpp read-only.使用Visual Studio公开的"宏",可以轻松删除它们:

del $(TargetDir)sourcefile.obj
Run Code Online (Sandbox Code Playgroud)

引用干杯和hth. - Alf是实现这一目标的另一种方式

nmake (bundled with Visual Studio and the SDK) option /t does a touch, it was once the conventional way to do this for Windows programmers.
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢删除目标文件,因为它允许源文件在您使用源代码控制时保持只读.目标文件位置实际上可能取决于配置,但宏使得处理起来很简单,例如`del $(TargetDir)datefile.obj`. (2认同)
  • @MakGucky:`nmake`(与Visual Studio和SDK捆绑在一起)选项`/ t`可以轻松实现,它曾经是Windows程序员的传统方式. (2认同)