Remove the '#pragma's, they seem to cause problems for MSVC and are certainly not needed otherwise. diff -ur teckit-2.5.8/source/Engine.cpp teckit-src/source/Engine.cpp --- teckit-2.5.8/source/Engine.cpp Tue Dec 05 07:20:20 2017 +++ teckit-src/source/Engine.cpp Tue Jul 24 07:39:17 2018 @@ -102,10 +96,6 @@ #endif } -#ifndef __GNUC__ -#pragma mark --- class Stage --- -#endif - Stage::Stage() : oBuffer(0) , oBufSize(0) @@ -127,10 +117,6 @@ return 0; } -#ifndef __GNUC__ -#pragma mark --- class Normalizer --- -#endif - #include "NormalizationData.c" Normalizer::Normalizer(bool compose) @@ -400,10 +386,6 @@ return c; } -#ifndef __GNUC__ -#pragma mark --- class Pass --- -#endif - Pass::Pass(const TableHeader* inTable, Converter* cnv) : converter(cnv) , tableHeader(inTable) @@ -1288,10 +1270,6 @@ return 0; } -#ifndef __GNUC__ -#pragma mark --- class Converter --- -#endif - Converter::Converter(const Byte* inTable, UInt32 inTableSize, bool inForward, UInt16 inForm, UInt16 outForm) : table(0) @@ -1942,10 +1920,6 @@ return true; } -#ifndef __GNUC__ -#pragma mark --- Public "C" API functions --- -#endif - TECkit_Status WINAPI TECkit_CreateConverter(