MSVC doesn't have stdbool.h
You can write your own, then add -I. to the compile line.
Compiling with VS2015
Collapse
X
-
It does not seem to like nested typedefs, #typedef char bool gives errors where bool is used. If I replace bool with char, it does compile. But clearly doing that throughout the code is not optimal.
Willem.Leave a comment:
-
MSVC does work for C, it just never was updated fully to later standards. I don't know why. Adding that kind of thing to a compiler is pretty easy.Leave a comment:
-
Maybe just don't use a C++ compiler to compile a program that is not written in C++Leave a comment:
-
MSVC is known not to be fully compliant in c99. You can change the const int to a #define with no bad effects.Leave a comment:
-
Compiling with VS2015
Hi all,
I am trying to compile 4.0.5 with microsoft visual studio community 2015. I am getting loads of errors.
There is the old instruction to compile, it is not quite accurate. My exact project settings are in the attachment.
1)
I've added all the .h and .c files, the files in the win folder. When I compile i receive eror: macro definition of snprintf conflicts with Standard Library function declaration
This code seems outdated, so I've commented it out snprintf:
/**
* Native MSVC compiler doesn't understand inline or snprintf
*/
#ifdef _MSC_VER
# define inline __inline
//# define snprintf _snprintf
#endif
2)
Next, I get that pwd.h is not added. But I find the #include <pwd.h>under UNIX, while I am trying to compile as WINDOWS
So I've added || defined(_MSC_VER) to gain:
/**
* Extract the "WINDOWS" flag from the compiler
*/
# if defined(_Windows) || defined(__WINDOWS__) || \
defined(__WIN32__) || defined(WIN32) || \
defined(__WINNT__) || defined(__NT__) || defined(_MSC_VER)
# ifndef WINDOWS
# define WINDOWS
# endif
# endif
3)
now I am left with 100s of errors. I like this one:
static const int list_size = 64;
const char *initial_pronoun;
const char *name_list[list_size];
"Expression (list_size) must have constant value," which has been defined just two lines above!
There is probably something obvious that I missed. Does someone have a clue?
Thanks, Willem.Tags: None
Leave a comment: