Ah, light at the end of the tunnel for this nasty ignored problem. You can find the correct mangled name by grepping the .lib files in vc/lib/amd64. Out pops msvcmrt.lib, the name is:
?mainCRTStartupStrArray@@$$FYMHP$01EAPE$AAVString@System@@@Z
Bit of a bug in the mangling algorithm btw, it shouldn't have added the extra E's because these are managed identifiers. Links and runs fine, I haven't tested yet if it solves the static initialization order fiasco problem. It is promising.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…