Explanation of QMAKE_CFLAGS_RELEASE and QMAKE_LFLAGS_RELEASE in mkspecs/qmake.conf
I want to compile Qt 5.0.2 statically with MSVC2010 and I tried to google how to do that.
I've read that I should modify QMAKE_CFLAGS_RELEASE to '-Ol -Og -GL -MD' in the qmake.conf. The original flags are '-O2 -MD'
Somewhere else I read that I have to modify QMAKE_LFLAGS_RELEASE.
So I asked myself what do this flags mean? I wasn't able to find documentation of this macros/flags.
Can someone explain me what this flags mean?
CFLAGS are used at compilation time (by the compiler)
LFLAGS at linking time (by the linker)
The flags themselves are platform dependent
The O flag is for optimization (speed/size etc...)
MD to link against multi-threaded DLL runtime
MT to link multi-threaded static runtime
Hope it helps
Thank you for your reply. That makes things a little bit clearer...
If the O flag means optimization, what does the number or the second letter stands for? Ol, O2, Og?
And what means the GL flag?
What do I have to edit if I want a static build?
Is there a general description of the flags?
Edit: I think I found it "here":http://msdn.microsoft.com/en-us/library/fwkeyyhe.aspx
Many questions :-)
Depends on what you mean by static build:
Qt static against dynamic runtime ? (Recommended)
Simply run configure with -static.
If you want Qt static against static runtime you'll have to edit the makespec and change MD to MT (there might be other modifications to do but I don't know them from the top of my head)
IIRC there is something about that in the documentation.