【问题标题】:How to add icon in D application?如何在 D 应用程序中添加图标?
【发布时间】:2015-02-12 14:44:29
【问题描述】:

我想在我的应用程序的 exe 文件中添加图标?我该怎么做。我希望在我使用 dub 构建应用程序时自动添加它。

【问题讨论】:

  • forum.dlang.org/thread/… 看这个教程
  • 我想和配音一起做...
  • 我对配音不太了解,但从文档中可能有一个 preBuildCommand 来调用资源编译器(rcc 参见上面的链接)和一个 sourceFiles-windows 列出了 .res 文件(由资源编译器生成)会做你需要的。

标签: windows icons exe d dub


【解决方案1】:

我想我会写下我的评论作为答案,因为它是我们所拥有的最接近的答案。

要向应用程序添加图标,首先创建一个资源文件,添加图标,然后将该资源编译到 exe 中。我在这里的旧线程中解释了如何执行此操作,并且也链接了一个 wiki 页面:http://forum.dlang.org/post/mailman.8.1363202377.4724.digitalmars-d-learn@puremagic.com

为了通过 dub 实现这一点,我会尝试添加一个 preBuildCommand 来将资源编译到您的 dub 配置文件中,然后为您的编译资源添加一个 sourceFiles-windows 参数。如果将资源作为源文件添加到 dmd,它将知道要做什么并将其传递给链接器。

【讨论】:

  • 我知道这是 3 年前的事情,但我收到了一个我不明白的错误。 icon.rc(1) : Error: 'icon.ico' doesn't contain a valid Windows 3.0 icon resource 我制作了 PNG 格式的图标,将其缩小为 16、32、64、128、256,并使用 magick convert 从中创建了一个图标文件。这应该是一个有效的图标。
  • 您在进行 32 位还是 64 位构建?可能是文件版本不兼容 32 位(随附的 D 工具非常旧,而 64 位将使用 Microsoft 的)。 ico 文件也应在 windows shell 中显示为图像本身,如果不显示,则格式可能是错误的
  • 我不确定。如果您要问的话,我没有使用 -32 标志。该图标应该可以正常工作,我已将这种方式生成的图标用于其他应用程序。这是我尝试使用的图标:tknk.io/lA4h
  • 有没有一种方法可以在不使用此资源文件的情况下以编程方式将图标添加到可执行文件中?如果我可以在编译将添加图标的可执行文件后编写一个小脚本来运行,我认为这会更容易。资源黑客是如何做到的?
  • 您可以使用 Resource Hacker 本身来完成。但是,是的,文件看起来不错,我认为只是古老的 rcc.exe 不喜欢 256x256 png 图标。如果您删除该条目,那么旧的 rcc.exe 将成功编译它并添加图标。所以这是一种选择,或者使用 Resource Hacker 事后添加,或者使用 Microsoft 自己的 rc.exe 程序代替(或者 Visual Studio 内置了它)来编译资源然后链接它。
猜你喜欢
  • 2017-07-29
  • 1970-01-01
  • 2017-11-29
  • 2013-07-23
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 2016-01-21
相关资源
最近更新 更多