Build 32 bit Qt 6.9.0 error
-
wrote 13 days ago last edited by
Hoping someone else has found a solution to this. When trying to build Qt 6.9.0 with 32 bit windows target I get an error:
C:\Qt\qt-everywhere-src-6.9.0\qtopcua\src\opcua\client\qopcuanodeidsmetaobject.cpp(8084): fatal error C1060: compiler is out of heap space
[136/2737] Building CXX object qtquick3dphysics\src\3rdpar...sX.dir\Release\source\physx\src\buffering\ScbScene.cpp.obj
ninja: build stopped: subcommand failed.This is using VS 2022 on a 64 bit dual Xeon pc with 256Gb memory. The same build setup comiled Qt 6.8.0 with no problem.
-
Use the 64 bit cross compiler for 32bit to be able to use more than 2GB of ram.
-
wrote 13 days ago last edited by
Yes, that's what I've been doing all along - from the x86 cmd.exe that VS provides.
Its not clear to me if cross-compiling for 32 bit is unsupported, I fully get that running on 32 bit is not.Unfortunately I still need to provide quite a few users with 32 bit Windows versions of an app.
-
wrote 13 days ago last edited by
Just a guess, but you could try increasing the size of the swap file, in Settings, System, About, Advanced System Settings, Performance Settings and selecting the Advanced tab.
-
wrote 13 days ago last edited by
I wouldn't have thought that would have any effect with all the RAM I have, task manager is never showing more than around 20Gb in use out of 256Gb. As the message is about compiler heap space I'm wondering if there is a way of setting that in the build files. I seem to recall there is a /HEAP flag for the VC++ compiler that sets the app's heap size (which defaults to something like 1Mb). But that is for the app being compiled, not the compiler itself.
-
Yes, that's what I've been doing all along - from the x86 cmd.exe that VS provides.
Its not clear to me if cross-compiling for 32 bit is unsupported, I fully get that running on 32 bit is not.Unfortunately I still need to provide quite a few users with 32 bit Windows versions of an app.
@KeithS said in Build 32 bit Qt 6.9.0 error:
Yes, that's what I've been doing all along - from the x86 cmd.exe that VS provides.
VS provides 4 compilers
- 32 bit host
- 32 bit target
- 64 bit target
- 64 bit host
- 32 bit target
- 64 bit target
You have to choose the 64bit host/32bit target compiler so your compiler can use more than 2GB of RAM.
- 32 bit host
-
wrote 12 days ago last edited by
Doh how did I miss that! I had been using the 'x86 Native Tools Command Prompt' instead of the 'x64_x86 Cross Tools Command Prompt'. And it had worked up till this release...
-
Doh how did I miss that! I had been using the 'x86 Native Tools Command Prompt' instead of the 'x64_x86 Cross Tools Command Prompt'. And it had worked up till this release...
@KeithS said in Build 32 bit Qt 6.9.0 error:
And it had worked up till this release...
Qt webengine for instance needed this since ages. 2GB is simply no longer enough for a compiler nowadays :)
-
wrote 12 days ago last edited by
Thanks Christian, 32 bit build all working now. I skip webengine, webview, location as I don't need those.
1/9