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\"
), eve
None of the above solutions worked for me. But
#include <Windows.h>
worked fine.
you can go to project properties --> configuration properties --> General -->Project default and there change the "Character set" from "Unicode" to "Not set".
For whatever reason, I noticed that setting to unicode for "All Configurations" did not actually apply to all configurations.
Picture:
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".
Picture:
use #undef UNICODE
at the top of your main file.
From VS2019 Project Properties - Advanced - Advanced Properties - Character Set
Also if there is _UNICODE;UNICODE Preprocessors Definitions remove them. Project Properties - C/C++ - Preprocessor - Preprocessor Definition
Have you tried: Project Properties - General - Project Defaults - Character Set?
See answers in this question for the differences between "Use Multi-Byte Character Set" and "Not Set" options: About the "Character set" option in visual studio 2010