如何将版本信息嵌入到 Windows 二进制文件中?

2023-11-24

您可能知道 Windows 有一个选项,您可以在其中查看二进制文件的属性,并且它将显示有关作者、版本号、公司等的信息...我们希望将其放入我们的自动编译系统中。在编译二进制文件后将此版本信息放入二进制文件中是更好的选择,但是有关如何完成此操作的任何信息都会有所帮助。当然,这需要是程序化的;我们懒得每天手动将 5000 个二进制文件的信息输入到资源黑客中。

以前有人这样做过吗?怎么可能呢?


看起来最好的解决方案(至少对我们来说)是使用 RC 文件。

1 VERSIONINFO
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904E4"
        BEGIN
            VALUE "File Version",      "1.0.4"
            VALUE "Build Number",     "3452"
        END
    END
END

哪个被编译成.res文件

rc.exe /fo Results/version.res version.rc

然后将其与其余目标文件链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将版本信息嵌入到 Windows 二进制文件中? 的相关文章

  • 退出时关闭 Visual Studio 中的所有文件

    有没有办法在退出时关闭 Visual Studio 中的所有文件 或者 如果不可能 是否可以删除 Visual Studio 在退出时创建的用户项目文件 Windows gt 关闭所有文档文件 gt 退出 或者在项目关闭后手动删除 sou文
  • “snprintf_s”的错误安全感

    MSVC的 安全 sprintf函数有一个模板版本 它 知道 目标缓冲区的大小 然而 这段代码在结束后很高兴地在堆栈上绘制了 567890bytes char bytes 5 snprintf s bytes TRUNCATE s 1234
  • 在 Visual Studio 2005 中重用对象文件

    情况是这样的 我有一个包含两个项目的 VS2005 解决方案 MyDll DLL MyDllUnitTest 控制台 EXE 在 MyDll 中 我有一个名为 MyClass 的类 该类位于 DLL 内部 不应导出 我想在 MyDllUni
  • 我怎样才能链接我的非常大的程序?

    我们的下一个产品已经变得太大 无法链接到运行 32 位 Windows 的计算机上 所有 lib 文件的总和超过 2Gb 只能在 64 位 Windows 计算机上链接 最终我们将超越这个界限 因为我们的软件往往会增长而不是收缩 而且我们使
  • 这是有效的 C++ 代码吗?

    我有以下代码 基本上是 class foo public void method void foo foo method 我不小心在 foo method 的定义前面添加了一个额外的 foo 此代码使用 g 版本 4 2 3 编译时没有警告
  • Windows 7 Visual Studio 2005 兼容性

    我现在正在开发 RC Windows 7 并安装Visual Studio 2008 http en wikipedia org wiki Microsoft Visual Studio Visual Studio 2008专业版 但我需要
  • 使用 SFINAE 检测 C++ 中类型的 POD 性

    这里原来的标题是VS2005 C 中 SFINAE 错误的解决方法 这是暂时使用 SFINAE 来等效 TR1 中存在的 is pod 模板类 在 VS2005 中还没有 TR1 应该有它的value当模板参数是 POD 类型 包括基本类型
  • 在 VS 2005 中增量构建

    我们在 VS 2005 中有 50 个项目的解决方案 如果没有任何改变 有什么方法可以进行增量构建吗 它有点像现在就这样做 但它执行每个项目的所有预构建和构建后事件 有什么办法可以预防吗 看看构建活动标签 请注意底部的下拉菜单 上面写着运行
  • 如何轻松地重新排序TabControl?

    我有一个TabControl我在 VS2005 设计器中设计的 大约有 7 个选项卡 如何轻松切换选项卡的顺序 我匆忙地在末尾放了一个标签 但现在我想把它放在中间的某个地方 在选项卡控件的属性中 有一个 TabPages 集合 你应该能够在
  • VS2008 二进制文件比 VS2005 慢 3 倍?

    我刚刚将本机 C 项目从 VS2005 SP1 升级到 VS2008 SP1我测试的第一件事是应用程序的非常基本的功能测试 我注意到的第一件事是主要的数字运算算法在 VS2008 二进制文件中的执行速度慢了三倍 我再次测试了 VS2005
  • 如何在 Visual Studio 中包含子目录?

    我必须包含许多头文件 它们位于不同的子目录中 Visual Studio 中是否有一种方法 我使用的是 2005 版 来设置一个包含路径 Visual Studio 也会在子目录中搜索头文件 从设计的角度来看 在 Visual Studio
  • 如何链接winsock.lib?

    在我的 C 课程中 我使用套接字 我在链接时遇到一些错误 因为在我看来 库 Winsock lib 丢失了 我包括这些 ifdef WIN32 include
  • 安装 ReSharper 后 Visual Studio 2005 Intellisense 停止工作

    我安装了 ReSharper 评估版并将其卸载 之后 Visual Studio 的 Intellisense 停止工作 我已经重新启动了计算机 但仍然存在此问题 有人可以帮我吗 我正在使用 Visual Studio 2005 谢谢 尝试
  • 为什么当我启动调试器时,我的 Visual Studio 2005 会与进程分离?

    我正在使用 VS2005 开发 Web 应用程序 当我开始调试时 它将打开网页 但立即从进程中分离 我发现如果我关闭 IDE 并重新启动它 它会正常工作一段时间 但随后又开始分离 任何对这种奇怪行为的见解都将不胜感激 你用的是IE8吗 我最
  • 我可以在同一台计算机上安装两个不同版本的 Visual Studio 吗?

    我可以在同一台计算机上安装 Visual Studio 2005 和 2010 吗 会造成什么问题吗 是的 你可以这样做 我在一台机器上安装了VS 2005 2008和2010 它们都是独立工作的 但是 在此之前 请记住 低版本制作的项目只
  • 在不使用引用的情况下设置构建依赖项?

    全部 我正在开发一种解决方案 其中一个项目实际上是解决方案构建的主 exe 的插件 由于这个项目是一个插件 因此从主 exe 引用该插件是错误的 不保证该程序集出现在部署中 它是可选的 所以这是我的问题 如果我修改插件项目中的代码 然后按
  • ClientCredentialType=Windows 和 =Ntlm 之间的区别

    任何人都可以清楚地解释使用之间的区别 clientCredentialType Windows and clientCredentialType Ntlm 托管 WCF 服务时在服务器端 Web config 中 我有一个 SOAP 1 1
  • 我可以在 Visual Studio 2005 中使用 C# 创建透明按钮吗

    我有一个用户界面 需要在 C 项目中放置一些圆形按钮 并在其后面放置一些数据 这些按钮是 System Windows Forms buttons 我使用具有透明度的 GIF 图像来创建它们 然而 透明区域并不透明 我在网上查找了参考资料
  • cmake:如何制作一个脚本来复制我的程序附带的数据文件

    我正在尝试使用 cmake 自动化我的构建过程 目前只有一个问题 在cmake的哲学 如果有的话 中 最好的地方在哪里 放置数据文件的复制 我有一个图书馆和一些例子 例子需要数据 我目前执行以下操作 我在每个示例的 CMakeLists t
  • Windows 上本机 C++ 应用程序中的自动死代码检测?

    背景 我有一个用原生 C 编写的应用程序 花了几年的时间 大约有 60 KLOC 有很多函数和类已经死了 可能有 10 15 就像下面提出的类似的基于 Unix 的问题 我们最近开始对所有新代码进行单元测试 并尽可能将其应用于修改后的代码

随机推荐