我该如何去有关以编程方式更新FILEVERSION字符串中的MFC应用程序? 我有用于生成包含SVN转一个给定版本的头文件生成过程。 我使用的是从SvnRev http://www.compuphase.com/svnrev.htm更新,我用它来设置我的MFC应用程序的标题栏的头文件。 现在,我想用这个#定义为我的FILEVERION信息。
什么是前进的最好方式?
我该如何去有关以编程方式更新FILEVERSION字符串中的MFC应用程序? 我有用于生成包含SVN转一个给定版本的头文件生成过程。 我使用的是从SvnRev http://www.compuphase.com/svnrev.htm更新,我用它来设置我的MFC应用程序的标题栏的头文件。 现在,我想用这个#定义为我的FILEVERION信息。
什么是前进的最好方式?
一个.rc
文件可以#include
头文件一样.c
文件即可。 我有一个自动生成version.h
的文件,它定义了喜欢的东西:
#define MY_PRODUCT_VERSION "0.47"
#define MY_PRODUCT_VERSION_NUM 0,47,0,0
然后我有我.rc
文件#include "version.h"
,并使用这些定义。
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被编辑)。
没有足够的积分尚未就此发表评论,但无论解决方案,您选择记住FILEVERSION场只能支持一个短整型。 在我们的情况,我们的SVN版本已经超过这一点,并导致我们FILEVERSION一个无效的版本号。
在你application.rc文件中,有一个版本块。 此块控制在文件系统中显示的版本信息。
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
的ProductVersion 1,0,0,1
您可以通过编程更新此文件。 确保打开和保存该文件作为二进制文件。 我们曾在那里编辑完成的文本和文件被损坏的问题。
更改VS_VERSION_INFO
将反映当你在资源管理器中右键单击,只看到属性。
如果你想显示在标题栏中的当前SVN版本号,我建议:
#define SVN_VERSION_NO xxx
也许这可以帮助: 版本控制控制的构建