[Interest] Very large QRC file

Konstantin Tokarev annulen at yandex.ru
Wed Mar 23 17:04:21 CET 2016



23.03.2016, 19:03, "Sean Harmer" <sean.harmer at kdab.com>:
> On Wednesday 23 March 2016 16:57:04 Jason H wrote:
>>  Not sure. This is an app for a tablet, I've always packaged assets in qrc,
>>  because it "just worked". I could try DISTFILES, but I'm unsure how that
>>  work on mobile platforms.
>>  > Sent: Wednesday, March 23, 2016 at 11:41 AM
>>  > From: "Gian Maxera" <gmaxera at gmail.com>
>>  > To: "Jason H" <jhihn at gmx.com>
>>  > Cc: "interest at qt-project.org Interest" <interest at qt-project.org>
>>  > Subject: Re: [Interest] Very large QRC file
>>  >
>>  > My absolute rule is Never Never put big files into qrc file.
>>  > Can you avoid it too ?
>
> No need, just put it into a binary resource file and load that at runtime. That
> avoids the compilation step. Put something like this in your .pro/.pri file:
>
> RCC_BINARY_SOURCES += \
>     $$PWD/assets/mybigmedia.qrc
>
> asset_builder.commands = $$[QT_HOST_BINS]/rcc -binary ${QMAKE_FILE_IN} -o
> ${QMAKE_FILE_OUT} -no-compress
> asset_builder.depend_command = $$[QT_HOST_BINS]/rcc -list
> $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN}
> asset_builder.input = RCC_BINARY_SOURCES
> asset_builder.output = $$OUT_PWD/${QMAKE_FILE_IN_BASE}.qrb
> asset_builder.CONFIG += no_link target_predeps
> QMAKE_EXTRA_COMPILERS += asset_builder
>
> Notice the -no-compress option too this can save runtime CPu costs involved
> with decompressing the data especially for already compressed formats such as
> most video codecs.

I haven't noticed any difference when using this option with png assets, resulting files were byte-identical

>
> Then in your c++ source add:
>
> QResource::registerResource("mybigmedia.qrb");
>
> and use it just like any other resource. Just remember to deploy the qrb file
> with your app.
>
> Cheers,
>
> Sean
> --
> Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK
> Klarälvdalens Datakonsult AB, a KDAB Group company
> Tel. UK +44 (0)1625 809908, Sweden (HQ) +46-563-540090
> KDAB - Qt Experts - Platform-independent software solutions
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

-- 
Regards,
Konstantin



More information about the Interest mailing list