我正在使用Visual Studio 2010进行C / C ++项目。至于版本号,我喜欢修改和构建日期;例如“Project 1.0 R2 Apr 21 2013”。我在启动时显示它,所以我可以轻松判断是否有人在运行旧版本。现在我想把这样的东西放在构建创建的可执行文件的文件名中。例如,“Project10R2.exe”。
我使用列出here的构建宏。为了显示构建日期,我使用列出的here预定义宏。为了澄清可能的混淆,构建宏可以从项目属性中使用,它们称为“预定义宏”的是#define。我知道你可以定义自定义的自定义构建宏(参见this)(显然我想要的任何#define)。
现在我想要的是与另一个一起使用。也就是说,我想在一个地方定义一个修订字符串,让它在启动时的程序输出中显示(使用#define很容易),也可以在构建输出文件名中显示(使用自定义的$ macro很容易)。我不想保留两个不同的常量。
任何人都知道如何做到这一点?看来您甚至无法将构建日期放在文件名中(不安全,无论如何,如果您使用Windows%DATE%环境变量,最终可能会出现非法字符。)