我想将Qt外部资源文件用作我的Android应用的扩展文件。要捆绑在资源文件中的资源的总大小为700 MB。我经历过资源编译器(rcc)在我的计算机上挂起并崩溃之前无法处理超过500MB的内容。我真的想在大文件上制作,因为这样可以更轻松地上传Android的扩展文件。
我使用以下参数从命令行运行rcc工具:
rcc -binary -no-compression myQrcFile.qrc -o myOutputFile
我需要不使用压缩才能直接播放资源文件中捆绑的视频文件,但这不是问题。
我有两个问题,但第一个是主要问题:
答案 0 :(得分:0)
要创建较小的资源数据,您可以尝试更改压缩(s,-compress)
为了加快加载速度,在Qt中嵌入资源似乎有两种可能性。
除非您明确指定将资源数据创建为外部库,否则资源数据将嵌入到可执行文件中,并将在应用程序启动时加载(对应用程序图标,字体等有意义)
如果使用-binary选项
编译数据rcc -binary myresource.qrc -o myresource.rcc
您将数据构建到动态库中,您可以在稍后的位置加载,而不是通过调用启动应用程序
QResource::registerResource("/path/to/myresource.rcc");
以下是关于SO的类似问题,然而其重点是动态加载资源,而不是大小:How can I embed a Qt resource into a .dll file?
这些链接应该会有所帮助:
答案 1 :(得分:0)
我使用的是MinGW,它是一个32位编译器。我改为MSVC 64位编译器,我可以创建大型外部资源文件。