You can’t compile Rack with MSVC - it uses some non-standard gcc extensions, including variable length arrays. You’d also need to compile every other piece of the Rack process the same way - all the dependencies, and all the plugins. It would be a huge undertaking.
But if you’re really only talking about data structures, meaning a struct containing fundamental data types, you should be OK. At most you might need to use pragmas to control the layout, eg. padding and alignment.
Can you tell what the difference is between the two sides? If you create your structure on each side, populate it with some text data and hex dump it, where are the differences?
In the Mac environment, “gcc” is just a wrapper for clang, so you should be OK.