微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从外部资源管理 VS_VERSION_INFO FILEVERSION

如何解决从外部资源管理 VS_VERSION_INFO FILEVERSION

我使用的是 VS2019。我的一个解决方我有几个 C++ 项目共享一个公共静态库。为了管理版本信息,我使用版本资源。 我对可执行文件所做的唯一修改是更改库的代码。所以我希望 exec 的版本由我的 lib 版本决定。

我在考虑是否可以根据某个版本的 lib 或外部资源动态更改我的可执行文件的版本。例如作为预编译事件?

我只想控制 FILeverSION 属性

解决方法

一种解决方案是将库的版本分解到其头文件之一中,并将其包含在内。

include/MyLib/Version.rh

#pragma once

#define MYLIB_VERSION_STR()   "1.0.0"
#define MYLIB_VERSION_COMMA() 1,0

然后您可以将其 #include 放入库的 RC 文件以及您的项目中,并在 VERSION 资源中使用它:

#include <MyLib/Version.rh>

VS_VERSION_INFO VERSIONINFO
 FILEVERSION MYLIB_VERSION_COMMA()
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904B0"
        BEGIN
            VALUE "FileVersion",MYLIB_VERSION_STR()
        END
    END
END

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。