在资源文件中使用宏
Using Macros in Resource File
我正在尝试使用宏来自动生成C++项目的构建版本。
如果我做到以下几点,一切都会好起来。
版本控制.h
...
#define VERSION_MAJOR 1
#define VERSION_MINOR 0
...
MyApp.rc
...
#include "Versioning.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION VERSION_MAJOR, VERSION_MINOR, 0, 0
PRODUCTVERSION VERSION_MAJOR, VERSION_MINOR, 0, 0
FILEFLAGSMASK 0x3fL
...
然而,如果我尝试包含任何更复杂的内容,例如数学,编译器会生成错误
#define VERSION_MAJOR (2 / 2)
error RC1013: mismatched parentheses
error RC2104: undefined keyword or key name: /
我需要在宏中使用更复杂的数学表达式、调用其他类、执行字符串比较等。
我的猜测是,我正在编写的宏并没有什么问题,而是资源文件处理宏的方式有问题。
有什么想法吗?
注意:我使用的是Visual Studio Ultimate 2013 Update 3。
资源编译器不如源代码编译器灵活。不能在资源脚本中使用复杂的宏。如果需要,则必须使用单独的预处理器来执行计算,并生成资源编译器所需的宏值。
相关文章:
- 具有瞬态资源的RAII类
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 允许从 std::map 的密钥窃取资源?
- 为测试目标创建具有不同源文件夹的文件
- 参考资源文件VC++中的$(SolutionDir)
- 如何维护资源管理器项目视图中当前可见的项目列表
- 将图像添加到资源文件夹UWP C++
- 将 std::allocate_shared 与多态资源分配器一起使用
- 使用RAII在给定次数的迭代后重新分配资源
- 资源管理设计模式
- 视觉工作室项目.提取源文件夹名称
- 如何跨平台将二进制资源构建到程序中?
- 生成一个生成文件,该生成文件使用Automake在一个步骤中编译和链接所有源文件
- SetDlgItemInt 不会更改嵌入资源的编辑框
- Klocwork Inside的资源泄漏
- make 命令如何避免重新编译未更改的源文件?
- C++两个源文件之间共享的枚举的静态实例
- Windows 资源源文件中 #define 的含义
- 如何让资源黑客在.rc源文件上工作
- 在cmake目标的解决方案资源管理器中添加一些源文件的头依赖项