That always compiled OK under my old Visual C++ compiler. But the new compiler rejects it with "a value of type "const char*" cannot be used to initialize an entity of type "char*".
That fault also happens with the lines
#define PROGNAME "makeobj"
#define TEXPROGNAME "makeobj texturemap"
I had other faults with objects of the mode char* used in an = assignment or as a function call parameter, which my old compiler accepted and my new compiler rejects. Please, is there a list of these changes in what the compiler accepts and what it rejects? Is there a workaround for these changes?
The compiler settings are set to use wide-char as default (hence the W). If you aren't using wide-chars in your program, the easiest way is to change the compiler settings.
Project/properties/Advanced/Character Set. Change to Use Multi-Byte Character Set
Alternatively, you can specifiy that the ASCII versions of the API's are used by specifiying an A at the end of the name (instead of the W)
Note that there are probably other settings that should/need to be changed - ie general/c++ language standard. It defaults to c++14. set to either C++20 or preview if you want to also use some features from C++23.