Revert "Revert "vs2012 compatible no c++11""

This reverts commit 71de8dac49c9205a4e544e20a6527b46a0707fe2.