Could not build the VCMI under Windows (too many sections)

When I try to build the VCMI project under Windows usng CMake and MinGW I get this error:

 34%] Building CXX object lib/CMakeFiles/vcmi.dir/JsonDetail.cpp.obj
 35%] Building CXX object lib/CMakeFiles/vcmi.dir/JsonNode.cpp.obj
 35%] Building CXX object lib/CMakeFiles/vcmi.dir/LogicalExpression.cpp.obj
 36%] Building CXX object lib/CMakeFiles/vcmi.dir/ResourceSet.cpp.obj
 36%] Building CXX object lib/CMakeFiles/vcmi.dir/VCMI_Lib.cpp.obj
 37%] Building CXX object lib/CMakeFiles/vcmi.dir/VCMIDirs.cpp.obj
 37%] Building CXX object lib/CMakeFiles/vcmi.dir/IHandlerBase.cpp.obj
 38%] Building CXX object lib/CMakeFiles/vcmi.dir/IGameCallback.cpp.obj
 38%] Building CXX object lib/CMakeFiles/vcmi.dir/CGameInfoCallback.cpp.obj
 39%] Building CXX object lib/CMakeFiles/vcmi.dir/CGameState.cpp.obj
C:/Dev/VCMI/Qt/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../
../i686-w64-mingw32/bin/as.exe: CMakeFiles\vcmi.dir\CGameState.cpp.obj: too many
 sections (48766)
C:\Users\Nikolay\AppData\Local\Temp\ccaELuZa.s: Assembler messages:
C:\Users\Nikolay\AppData\Local\Temp\ccaELuZa.s: Fatal error: can't write CMakeFi
les\vcmi.dir\CGameState.cpp.obj: File too big
C:/Dev/VCMI/Qt/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../
../i686-w64-mingw32/bin/as.exe: CMakeFiles\vcmi.dir\CGameState.cpp.obj: too many
 sections (48766)
C:\Users\Nikolay\AppData\Local\Temp\ccaELuZa.s: Fatal error: can't close CMakeFi
les\vcmi.dir\CGameState.cpp.obj: File too big
lib\CMakeFiles\vcmi.dir\build.make:1910: recipe for target 'lib/CMakeFiles/vcmi.
dir/CGameState.cpp.obj' failed
mingw32-make[2]: *** [lib/CMakeFiles/vcmi.dir/CGameState.cpp.obj] Error 1
CMakeFiles\Makefile2:74: recipe for target 'lib/CMakeFiles/vcmi.dir/all' failed
mingw32-make[1]: *** [lib/CMakeFiles/vcmi.dir/all] Error 2
Makefile:136: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

Too many sections? That sounds familiar. Check this post:
[forum.vcmi.eu/t/compilation-with-code-blocks-and-mingw/522/1)
Specifically this line:

I’ve created a pull request to fix this: github.com/vcmi/vcmi/pull/31 :slight_smile:

That post is a bit outdated :slight_smile:
“Og” also works and should be used for debug builds.

Also we should add -s and -O2 or -O3 for release builds.