【问题标题】:How to add version, description, name, etc information to a DLL cross-compiled from C++ in linux?如何将版本、描述、名称等信息添加到从 Linux 中的 C++ 交叉编译的 DLL 中?
【发布时间】:2022-03-26 17:18:42
【问题描述】:

如何将所有这些信息添加到我的 C++-Linux-cross-compiled-using-MinGW DLL 中?

我在 Linux 中创建我的 DLL 交叉编译 C++ 代码,因此使用 windows 和 VS 添加这不是一个选项。到目前为止,我找到的所有答案都是关于 VS。

【问题讨论】:

  • Windows 可执行文件和 DLL 版本信息使用the VERSIONINFO resource 设置。您需要创建自己的资源文件 (.rc) 并使用它进行构建。
  • 你的环境是什么(终端、IDE、什么IDE)?您使用什么构建系统(make、CMake 等)?如果您使用 IDE,您是否尝试过创建 .rc 文件并查看 IDE 是如何构建它的?对于 CMake,如果您将 .rc 文件列为普通源文件,它将在 Windows 上正确处理它,也许它也可以在其他系统上处理?我认为make 也有正确的隐式规则来构建.rc 文件。
  • 关于资源文件本身,你必须明确地创建和编辑它。记住.rc 后缀。
  • @m4l490n 不,您使用 mingw windres 将 .rc 转换为 .res,然后将其与链接器/编译器链接
  • @Someprogrammerdude 嘿,这就是我最终所做的并且效果很好,您介意添加您的评论作为选择它并关闭此问题的答案吗?

标签: dll g++ mingw cross-compiling


【解决方案1】:

Windows 使用一个特殊的资源文件来包含有关诸如图像、对话框模板之类的信息以及针对您的用例的版本信息。

资源就像源文件,因此您需要使用源代码编辑器创建它。然后在文件中添加VERSIONINFO 资源,并将文件添加到您的构建系统中。

如果您使用 CMake 等系统,它将能够自动检测资源文件(如果以 .rc 后缀命名)并构建并将其链接到应用程序中。

【讨论】:

    猜你喜欢
    • 2022-06-12
    • 1970-01-01
    • 2021-06-02
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 2017-06-05
    • 2017-01-21
    相关资源
    最近更新 更多