I have a VC++ project in Visual Studio 2008.
It is defining the symbols for unicode on the compiler command line (/D "_UNICODE" /D "UNICODE"
), even though I do not have this symbol turned on in the preprocessor section for the project.
As a result I am compiling against the Unicode versions of all the Win32 library functions, as opposed to the ANSI ones. For example in WinBase.h, there is:
#ifdef UNICODE
#define CreateFile CreateFileW
#else
#define CreateFile CreateFileA
#endif // !UNICODE
Where is the unicode being turned on in the VC++ project, how can I turn it off?
This question is related to
visual-studio
unicode
visual-c++
None of the above solutions worked for me. But
#include <Windows.h>
worked fine.
For whatever reason, I noticed that setting to unicode for "All Configurations" did not actually apply to all configurations.
To confirm this, I would open the .vcxproj and confirm the correct token is in all 4 locations. In this photo, I am using unicode. So the string I am looking for is "Unicode". For you, you likely want it to say "MultiByte".
use #undef UNICODE
at the top of your main file.
project properities -> configuration properities -> general -> charater set
you can go to project properties --> configuration properties --> General -->Project default and there change the "Character set" from "Unicode" to "Not set".
Burgos has the right answer. Just to clarify, the Character Set should be changed to "Not Set".
Source: Stackoverflow.com