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