The article specifically states that it requires C99, so of course it doesn't.
But the code is neither ISO C99 nor C11. It uses a GNU C extension called “statement expressions”, which is not supported by MSVC.
Also, its preprocessor has quite a few problems. I think after removing statement exprs and running the code through a different PP, MSVC will compile it.
Of course, one could just simply use MinGW or Clang instead.