我在 Windows 上使用 MinGW 编译器套件,使用 Eclipse。我如何将资源文件 (.rc) 与我的应用程序链接,以便版本号、图标信息等内容包含在可执行文件中?我尝试使用 windres,但我不确定要在构建过程中包含哪些内容。
其次,有没有办法让 Eclipse 在每次(重新)构建时自动增加版本号?
最佳答案
我不确定这是否是最好的方法,但这是我在 Eclipse 环境中完成的。
<强>1。创建资源
创建一个名为“Resources”或类似名称的文件夹来保存资源信息。在此过程中会创建一些文件,因此资源最好有自己的文件夹。在此文件夹中创建您的 .rc 资源文件。 Visual Studio 附带一个有助于创建资源文件的工具。在 Visual Studio 中打开文件后,右键单击资源的文件夹图标,然后选择“添加资源”。选择“版本”,然后单击“新建”。更改您需要的内容,然后在 Visual Studio 中单击“保存”。这还将在具有许多有用定义的同一目录中创建一个 resource.h 文件。现在关闭 Visual Studio。如果您知道如何手动创建资源,则可以跳过在 Visual Studio 中打开它的步骤。我发现以这种方式为我生成资源很有帮助。
<强>2。编译资源
现在您的资源已创建,转到 Eclipse 中的项目属性(右键单击您的项目并选择属性)。转到“C/C++ 构建 -> 设置”。在“构建步骤”中输入“windres ..\src\Resources\MyResource.rc ..\src\Resources\MyResource.o”作为预构建事件。将目录更改为您的资源所在的位置。目录树在这里引用输出目录。这将做的是在构建之前将资源编译为目标文件。
<强>3。链接资源
现在需要链接目标文件。在同一个“C/C++ Build->Settings”窗口的属性中,选择“Tool Settings”选项卡。单击“MinGW C++ Linker”选项下的“Miscellaneous”文件夹图标。单击右下角“其他对象”列表下的添加图标。这里输入路径“src\Resources\MyResource.o”,点击确定。此处路径引用项目目录。
请注意,IDE 不会将对 .rc 文件的更改识别为代码更改。如果您在不更改任何代码的情况下更改此文件,则需要清理并重建项目以使更改在生成的二进制文件中生效。
关于c++ - 将资源文件与应用程序链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4833296/