I declared a variable not at the top of a function and didn't cast a void* to a char*, which apparently MSVC doesn't like. I (like I assume many developers) don't have MSVC to test on. Both of these flaws appear to be because my code was not ANSI compliant (David and I had a bit of a chat about this in the MIDI buffer thread).
I wonder if it would be possible to change the CMake list file so the gcc version builds with -ansi. I haven't tried it to see what happens (as I don't know CMake), but I would assume if MSVC is strict about ANSI-compliance, then the code should already be compliant, and therefore turning this flag on won't break anything. If we build with -ansi, I believe, GCC will error out on these things so it won't be so easy to break the MSVC build. Just a thought.