如何将Qt资源嵌入到.dll文件中

How can I embed a Qt resource into a .dll file?

本文关键字:dll 文件 Qt 资源      更新时间:2023-10-16

我的项目中有数百个HTML文件,我不想将所有这些HTML文件编译成一个.exe。因此,我想将我的 HTML 文件构建成.dll文件。

如何将这样的Qt资源嵌入到.dll文件或其他类型的编译库中?

您是只将 dll 用于 html 文件还是它也将包含代码?如果 dll 仅用于 html 文件,请改为创建外部外部资源文件。

qrc 文件编译为外部资源文件:

rcc -binary myresource.qrc -o myresource.rcc

在 exe 中注册资源文件:

QResource::registerResource("/path/to/myresource.rcc");

如果您很好奇(或者其他人需要此解决方案),我遇到了同样的问题,除了 RCC 文件对我来说不是选项(我需要在 DLL 文件中)。

这是我开始并解决的主题

基本上,在我的库(DLL)项目中,我必须:

  1. 在库(DLL)项目中包含qrc_RESOURCE_NAME.cpp文件(在.pro文件中) - 这是在编译时生成的,因此您很可能需要编译两次(第一个(只有qmake就足够了)生成该qrc_RESOURCE_NAME.cpp文件,第二个使用项目编译)
  2. 在应用程序 (EXE) 项目中(直接或间接)包含该qrc_RESOURCE_NAME.cpp
  3. 正常使用协议 qrc:///(或更短的:/)加载文件

有关更多详细信息,请访问我发布的链接。