从Visual C++资源文件获取FILEVERSION

kno*_*own 8 c++ versioning visual-c++

是否有一些预处理器关键字用于在编译时访问我的.rc文件中定义的FILEVERSION?

我真的不想添加额外的代码来从编译产品本身读取文件信息.

Mic*_*ael 8

预处理器也在.RC文件上运行.在.RC和源代码中包含的标头中定义共享数据.

即,在foo.h中:

#define MY_PRODUCT_NAME Foo
Run Code Online (Sandbox Code Playgroud)

然后在foo.rc中:

#include "foo.h"

VS_VERSION_INFO VERSIONINFO
   // Many lines omitted
   VALUE "ProductName", MY_PRODUCT_NAME
Run Code Online (Sandbox Code Playgroud)

然后在foo.cpp中:

#include "foo.h"

cout << MY_PRODUCT_NAME;
Run Code Online (Sandbox Code Playgroud)