Does Qt have resource system limitations?

My Qt application depends on running Oracle dlls. Since it binds statically for the most part (with the exception of these DLLs), I would like to embed the DLLs and EXEs in the launcher, which will behave like a completely static application (one exe, without a DLL).

The launcher will extract the included files into the temp directory, run the software and clean up when it is done.

I tried to embed the EXE and Oracle DLL (about 30 MB) in the launcher using the Qt resource system, but the compiler (MSVC 2005) fails with

fatal error C1001: An internal error occurred in the compiler.

Is there a size limit for resources included in the Qt resource system (or am I abusing it by including such large files in my executable)?

+3
source share
3 answers

The limit comes from the compiler, since the error says that it is an INTERNAL compiler error. Therefore, the compiler could not handle this. You could try to go through it by dividing large files into small parts and manually linking them into your code. I'm not sure if this will work, but worth a try.

0
source

If splitting the binary file by itself will not be performed, the use of one resource file per piece of binary file will be.

, cpp , .

10 , 5 ( DLL 4 DLL).

!

+1
Qt resources are processed by the resource compiler and a .cpp file is created for each .qrc file. I suppose your generated .cpp file is huge (should be more than 30 MB), and the VC compiler simply cannot compile such a huge source file.
0
source

Source: https://habr.com/ru/post/1748530/


All Articles