Remove the '#pragma's, they seem to cause problems for MSVC and are certainly not needed otherwise. diff -ur teckit-2.5.7.orig/source/Engine.cpp teckit-2.5.7/source/Engine.cpp --- teckit-2.5.7.orig/source/Engine.cpp Tue Jun 27 05:50:43 2017 +++ teckit-2.5.7/source/Engine.cpp Tue Jun 27 17:40:37 2017 @@ -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(