在带有SVN修订号的MFC应用中以编程方式更新FILEVERSION [英] Programmatically updating FILEVERSION in a MFC app w/SVN revision number
问题描述
如何在MFC应用程序中以编程方式更新FILEVERSION字符串?我有一个生成过程,用于生成一个头文件,该头文件包含给定版本的SVN修订版.我正在从 http://www.compuphase.com/svnrev.htm 使用SvnRev更新用于设置MFC应用程序标题栏的头文件.现在,我想将此#define用于我的FILEVERION信息.
How do I go about programmatically updating the FILEVERSION string in an MFC app? I have a build process that I use to generate a header file which contains the SVN rev for a given release. I'm using SvnRev from http://www.compuphase.com/svnrev.htm to update a header file which I use to set the caption bar of my MFC app. Now I want to use this #define for my FILEVERION info.
最好的进行方式是什么?
What's the best way to proceed?
推荐答案
一个.rc
文件可以#include
头文件,就像.c
文件一样.我有一个自动生成的version.h
文件,该文件定义了以下内容:
An .rc
file can #include
header files just like .c
files can. I have an auto-generated version.h
file, which defines things like:
#define MY_PRODUCT_VERSION "0.47"
#define MY_PRODUCT_VERSION_NUM 0,47,0,0
然后我只有我的.rc
文件#include "version.h"
并使用这些定义.
Then I just have my .rc
file #include "version.h"
and use those defines.
VS_VERSION_INFO VERSIONINFO
FILEVERSION MY_PRODUCT_VERSION_NUM
PRODUCTVERSION MY_PRODUCT_VERSION_NUM
...
VALUE "FileVersion", MY_PRODUCT_VERSION "\0"
VALUE "ProductVersion", MY_PRODUCT_VERSION "\0"
...
我没有在MFC项目中尝试过这种技术.可能有必要将您的VS_VERSION_INFO
资源移动到您的.rc2
文件(Visual Studio不会对其进行编辑).
I haven't tried this technique with an MFC project. It might be necessary to move your VS_VERSION_INFO
resource to your .rc2
file (which won't get edited by Visual Studio).
这篇关于在带有SVN修订号的MFC应用中以编程方式更新FILEVERSION的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!