在Visual C ++中从文件内容设置预处理器定义

时间:2014-03-19 10:50:42

标签: c++ visual-studio visual-c++ c-preprocessor

我的项目中有一个包含项目版本号的文件。我必须在我的代码中将此文件的内容作为预处理器定义提供。

我需要的是以某种方式将文件中的值作为/ D参数传递给编译器。

我尝试添加预处理器定义

VERSION=$(Version)

并在预建步骤中设置Version环境变量,但我找不到后者的方法,所以我卡住了。

2 个答案:

答案 0 :(得分:2)

作为一种解决方法,可以创建预构建步骤,该步骤调用读取文件的脚本并在标头中生成宏定义。然后这个头文件可以包含在我的项目中。

但是我觉得这个解决方案不太好,我希望有更好的解决方案。

答案 1 :(得分:1)

作为生成.h文件的替代方法,您还可以生成.vsprops(属性表)文件。 .vsprops文件是.vcproj文件.h文件是什么.h文件.cpp文件。特别是,您可以在属性表中定义/D命令行选项。这是/D UNICODE通常通过默认属性表定义的方式。

额外的好处是您还可以为链接器设置/VERSION标志,这是您无法通过头文件执行的操作。

相关问题