Make macros of an opensource C++ library compatible with MSVC non-conforming preprocessor

Job ID: 32611942

Budget: €30 – €250 EUR

Googles libnop serialization library (https://github.com/google/libnop) lacks compatibility with old, non-conforming MSVC preprocessor (compiling without /Zc:preprocessor or /experimental:preprocessor options)

Because adding those flags cascades to consuming applications, we'd rather have an identical implementation targeting MSVCs old preprocessor.

Specifically, the following macros are required to have an identical implementation made:
- NOP_STRUCTURE
- NOP_EXTERNAL_STRUCTURE

Those do call a couple of layers deeper, so knowledge about macros and especially MSVCs preprocessor is essential.

To ease development, there is also a fork containing CMake support with a couple of MSVC specific things fixed.
Related categories: C Programming Microsoft C++ Programming