mbpoll
mbpoll copied to clipboard
implicit declaration of function 'MAX' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
Compiling on macOS (clang), I get these errors:
$ make
[ 25%] Building C object CMakeFiles/mbpoll.dir/src/mbpoll.c.o
/Users/rmann/Projects/Clients/NASA/FurnaceController/misc/mbpoll/src/mbpoll.c:684:22: error: implicit declaration of function 'MAX' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
int iNbToWrite = MAX (0, argc - optind - 1);
^
/Users/rmann/Projects/Clients/NASA/FurnaceController/misc/mbpoll/src/mbpoll.c:1629:17: error: implicit declaration of function 'MAX' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
iLast = MAX (iFirst, i);
^
/Users/rmann/Projects/Clients/NASA/FurnaceController/misc/mbpoll/src/mbpoll.c:1630:18: error: implicit declaration of function 'MIN' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
iFirst = MIN (iFirst, i);
^
/Users/rmann/Projects/Clients/NASA/FurnaceController/misc/mbpoll/src/mbpoll.c:1677:23: error: implicit declaration of function 'MAX' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
int iLast = MAX (iFirst, i);
^
/Users/rmann/Projects/Clients/NASA/FurnaceController/misc/mbpoll/src/mbpoll.c:1678:20: error: implicit declaration of function 'MIN' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
iFirst = MIN (iFirst, i);
^
5 errors generated.
make[2]: *** [CMakeFiles/mbpoll.dir/src/mbpoll.c.o] Error 1
make[1]: *** [CMakeFiles/mbpoll.dir/all] Error 2
make: *** [all] Error 2
I fixed this by hacking in quick definitions:
inline int MIN(int a, int b) { return a > b ? b : a; }
inline int MAX(int a, int b) { return a > b ? a : b; }
But it felt a bit hacky and likely won’t compile on other platforms.