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

时间:2013-01-31 19:18:59

标签: c++ qt

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

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

2 个答案:

答案 0 :(得分:9)

您是仅将dll用于html文件还是包含代码?如果dll仅用于html文件,请改为创建external external resource file

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

rcc -binary myresource.qrc -o myresource.rcc

在exe中注册资源文件:

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

答案 1 :(得分:2)

如果你好奇(或其他人需要这个解决方案),我有同样的问题,除了RCC文件不是我的选项(我需要在DLL文件中)。

Here is topic I started and solved

基本上,在我的库(DLL)项目中,我不得不:

  1. 在库( DLL )项目中包含 qrc_RESOURCE_NAME.cpp 文件(在 .pro 文件中) - 这是在编译时生成的,所以你很可能需要编译两次(第一次(只有qmake就够了)生成 qrc_RESOURCE_NAME.cpp 文件,第二次用项目编译)
  2. 在您的应用程序( EXE )项目中 qrc_RESOURCE_NAME.cpp (直接或间接)
  3. 通常使用协议 qrc:/// (或更短的:/ )来加载文件
  4. 有关详细信息,请访问我发布的链接。