Возможно, проблема во включенных файлах (если на самом деле есть несбалансированные #if
/ #endif
s.
Я бы попробовал предварительную обработку с другим компилятором. Вы можете использовать для этого gcc, не важно, что он не скомпилируется. Просто получите gcc (или MinGW, если у вас Windows) и запустите
cpp -Iinclude_direcories your_file
Или, если вам не нравится gcc, получите MSVC Express edition. Опять же, вы можете предварительно обработать код, который даже не компилируется, так что никаких проблем с неработающей библиотекой и т. Д.
У большинства компиляторов есть опция, которая выдаст вам вывод препроцессора, чтобы вы могли проверить, что он делает. Например,
gcc -E file.c >file.preproc
даст вам предварительно обработанный источник, чтобы вы могли проверить балансировку #if против # endif.