Well, if you create an empty VS 2012 project you get the following:
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
That is not at all an empty project.
_tmain is some Windows specific stuff. You should really start of with a empty project, so VS doesn't get the chance to add some ugly code.
You can then simply go with:
int main()
{
return 0; // Can also be omitted in the main function and is valid by the standard
}
SFML provides the sfml-main.lib for Windows. If you're in debug mode, I suggest to keep the subsystem set to console, because you'll be able to output important debug information on the console window - don't link against sfml-main.lib if you use the subsystem console.
In release mode, you can set the subsystem to Window and link against sfml-main.lib and everything should work fine.