Search for: KB10900 - C++Builder XE5 & XE6 execution error related to generics TDictionary C++Builder XE2, XE3, XE4, XE5 & XE6 has a problem properly linking generic classes like TDictionary<Srtring,Integer>. A workaround is to set in application option Link with runtime packages = false. However version earlier the XE6 will start to report errors like: [ilink32 Error] Error: Unresolved external 'toupper' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\RAD STUDIO\11.0\LIB\WIN32\DEBUG\RTL.LIB|System.RegularExpressionsAPI A worakround is to place in a form .cpp code following lines: #pragma alias "toupper" = "_toupper" #pragma alias "tolower" = "_tolower" #pragma alias "isupper" = "_isupper" #pragma alias "isalnum" = "_isalnum" #pragma alias "isalpha" = "_isalpha" #pragma alias "iscntrl" = "_iscntrl" #pragma alias "isdigit" = "_isdigit" #pragma alias "isgraph" = "_isgraph" #pragma alias "isleadbyte" = "_isleadbyte" #pragma alias "islower" = "_islower" #pragma alias "isprint" = "_isprint" #pragma alias "ispunct" = "_ispunct" #pragma alias "isspace" = "_isspace" #pragma alias "isxdigit" = "_isxdigit" #pragma alias "strchr" = "_strchr" #pragma alias "strncmp" = "_strncmp" #pragma alias "memcmp" = "_memcmp" #pragma alias "memmove" = "_memmove" Created: April 24, 2014, Modified: August 04, 2016