在visualc++中根据文件内容设置预处理器定义
Set preprocessor definitions from file content in Visual C++
我有一个包含项目版本号的项目文件。我必须使这个文件的内容在我的代码中作为预处理器定义可用。
我需要的是以某种方式将该值作为/D参数从文件传递给编译器。
我尝试添加预处理器定义
VERSION=$(Version)
并在预构建步骤中设置Version环境变量,但我没有找到执行后者的方法,所以我被卡住了。
作为一种解决方法,可以创建一个预构建步骤,该步骤调用一个脚本,该脚本读取文件并在头文件中生成宏定义。然后这个头文件可以包含在我的项目中。
但是我不觉得这个解决方案很好,我希望有一个更好的。
作为生成.h文件的另一种选择,您还可以生成.vsprops(属性表)文件。.vsprops文件对于.vcproj文件就像。h文件对于.cpp文件一样。特别是,您可以在属性表中定义/D
命令行选项。这就是/D UNICODE
通常是如何定义的,通过一个默认的属性表。
额外的好处是,您还可以为链接器设置/VERSION
标志,这是您不能通过头文件做的。
相关文章:
- 错误:无效的预处理指令 #i 的意思是 #if?
- C++预处理会生成变量成员、资源库和映射
- 使用预处理指令检查是否包含标头?
- 预处理的 C/C++ 文件是否特定于计算机?
- 使用 GCC 对 C 文件进行部分预处理(不删除 "define" 指令)
- 在 CPLEX 中求解线性规划,无需剪切和预处理
- CPP -D 选项,用于预处理 Fortran 代码
- 错误:粘贴"tmp_UINT"和"+"未提供有效的预处理令牌
- 任务计划程序库的预处理不起作用 - 多定义错误
- Eclipse 问题 - 编译期间不考虑 .c 和 .cpp 文件中定义的预处理
- 使用python预处理后,C++(opencv)中的垫子类型数据与image_to_array相同
- Howo 使用 cl 预处理为 masm 组装生成一个单独的文件
- 我有一个预处理的 C/C++ 源文件 (cacti.i).如何从这个 .i 文件生成可执行二进制文件,以便我可以像 ./
- 如何使用Visual Studio C/C++编译器(cl.exe)来预处理我的objective-C代码
- 是具有预处理前分支实现的结构违反ODR
- 与不完整的Cholesky预处理的共轭梯度返回特征库的意外错误
- Visual Studio C - 无法输出预处理文件
- 在海湾合作委员会中加快宏观预处理的任何方法
- Xmllint未设置,而在路径中找不到XMLLINT;跳过XML预处理
- 在经过预处理的svg-xml文档上设置QGraphicsSvgItem的呈现器非常慢