In a Precomp branch on Github, I added on-the-fly compression/decompression using liblzma. Using MinGW, everything compiles fine after some minor adjustments. Then I tried to update the MSVC solution (with this commit). I had to use an inttypes.h replacement and even after that, there are thousands of errors. It seems there is some problem using the "inline" keyword in C in MSVC. Usually, this should be fixed using "__inline" instead, which liblzma does (in sysdefs.h):
Code:
// As of MSVC 2013, inline and restrict are supported with
// non-standard keywords.
#if defined(_WIN32) && defined(_MSC_VER)
# ifndef inline
# define inline __inline
# endif
# ifndef restrict
# define restrict __restrict
# endif
#endif
But sadly, neither this nor commenting the above code works, both lead to many errors in or around inlined functions. I'm using MSVC 2012, perhaps this is better in MSVC 2013/2015, could anyone check?
Any help or hints would be appreciated. As maintaing the MSVC solution gets more and more cumbersome with things like this, I think about supporting only MinGW on Windows and removing the Visual Studio project.