fix gcc4.7 compile