我的项目中有一个文件,其中包含项目版本号。我必须将此文件的内容用作我的代码中的预处理器定义。
我需要的是以某种方式将文件中的值作为 /D 参数传递给编译器。
我尝试添加预处理器定义
VERSION=$(Version)
并在预构建步骤中设置版本环境变量,但我没有找到执行后者的方法,所以我陷入了困境。
作为解决方法,可以创建一个预构建步骤,该步骤调用读取文件并在标头中生成宏定义的脚本。然后这个头文件就可以包含在我的项目中。
但是我觉得这个解决方案不太好,我希望有更好的解决方案。
作为生成 .h 文件的替代方法,您还可以生成 .vsprops(属性表)文件。 .vsprops 文件与 .vcproj 文件的关系就如同 .h 文件与 .cpp 文件的关系一样。特别是,您可以在属性表中定义
/D
命令行选项。这就是 /D UNICODE
通常通过默认属性表定义的方式。
额外的好处是您还可以为链接器设置
/VERSION
标志,这是通过头文件无法做到的。