c++ - 将资源文件与应用程序链接?

标签 c++ eclipse file build mingw

我在 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/

相关文章:

c++ - 使用 gettimeofday 限制 FPS

能够模拟非虚拟方法和 C 函数的 C++ 模拟框架

c++ - OpenCV 3.0 + Visual Studio 内存泄漏检测器 "false"正

c++ - 如何正确地将 float 与 int 相乘并获得仅受有效数字影响的结果?

java - 在 Eclipse RCP 中使用 jfreechart 创建的条形图上不显示文本字段

android - 运行Android单元测试后如何从模拟器自动卸载应用程序

android - 在eclipse中编译android应用程序忽略java错误

tomcat - Grails 和 Tomcat : Where to store uploaded files in filesystem?

python - Tarfile/Zipfile extractall() 更改某些文件的文件名

c++ - 从以分号分隔的文件中读取并存储到数组中