在带有SVN修订号的MFC应用中以编程方式更新FILEVERSION [英] Programmatically updating FILEVERSION in a MFC app w/SVN revision number

查看:203
本文介绍了在带有SVN修订号的MFC应用中以编程方式更新FILEVERSION的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆