Reputation: 503
When I use GCC with no IDE, I just need to create *.h file and *.cpp files.
But in VS2005, there are two ways to create an empty project, first way is to use "general -> Empty Project", second way is "Win32 -> Win32 console project ->next ->empty project".
The official example recommends the second way while I preffer the first way.
Then what's the differeces between them?
In win32 console project, "subsystem" is "console", "Character Set" is "unicode". But in empty project, "subsystem" is "NoSet", "Character Set" is "multi bytes". What does this mean?
Upvotes: 3
Views: 1711
Reputation: 1
The #include in the console project is not ANSI standard and will not work on other compilers.
Upvotes: 0
Reputation: 20080
To add to the @JoachimPileborg answer, what matters is project subsystem specification. For VS2005, there is a list of targeted subsystems: https://msdn.microsoft.com/en-us/library/fcc1zstk(v=vs.80).aspx
For empty project, it won't be set.
For Console, it would set to CONSOLE
I would recommend setting it to win32 console project, but remove precompiled headers flag and make it empty
Upvotes: 2
Reputation: 409166
An "Empty project" is just that: Empty. It has no specific settings at all, you need to set things like that yourself. For an empty "Console project" the IDE sets up the project with nice flags and settings for a console project, but doesn't add any files.
If you want a console program, then you most certainly should use the console project type.
Upvotes: 3