I used 5.1.13, where my code was working fine. I realised that 5.2 has came out, so I updated. Now when I'm trying to build the program, there are tons of errors.
I'm using:
Windows 10,
Visual studio 2015,
Allegro 5.2.1.1 (binaries are installed)
As I said, everything was fine in 5.1. The errors I get (full list):
Severity Code Description File Line Column Category Source Suppression State Tool
Error (active) expected a '{' c:\Allegro\include\allegro5\allegro_font.h 90 1 IntelliSense Visual C++ IntelliSense
Error (active) expected a '{' c:\Allegro\include\allegro5\allegro_font.h 91 1 IntelliSense Visual C++ IntelliSense
Error C3646 '__attribute__': unknown override specifier c:\allegro\include\allegro5\allegro_font.h 90 1 Build
Error C2059 syntax error: '(' c:\allegro\include\allegro5\allegro_font.h 90 1 Build
Error C3646 '__attribute__': unknown override specifier c:\allegro\include\allegro5\allegro_font.h 91 1 Build
Error C2059 syntax error: '(' c:\allegro\include\allegro5\allegro_font.h 91 1 Build
Error C2143 syntax error: missing ')' before '(' c:\allegro\include\allegro5\allegro_font.h 91 1 Build
Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int c:\allegro\include\allegro5\allegro_font.h 91 1 Build
Error C2365 'format': redefinition; previous definition was 'formal parameter' c:\allegro\include\allegro5\allegro_font.h 91 1 Build
Error C2059 syntax error: ')' c:\allegro\include\allegro5\allegro_font.h 91 1 Build
Error C2598 linkage specification must be at global scope c:\allegro\include\allegro5\allegro_image.h 30 1 Build
Error C2598 linkage specification must be at global scope c:\allegro\include\allegro5\allegro_primitives.h 30 1 Build
Error C2371 'ALLEGRO_VERTEX_ELEMENT': redefinition; different basic types c:\allegro\include\allegro5\allegro_primitives.h 129 1 Build
Error C2371 'ALLEGRO_VERTEX': redefinition; different basic types c:\allegro\include\allegro5\allegro_primitives.h 147 1 Build
Error C2598 linkage specification must be at global scope c:\allegro\include\allegro5\allegro_ttf.h 8 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\shared\basetsd.h 67 1 Build
Error C2601 'PtrToPtr64': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\shared\basetsd.h 354 1 Build
Error C2601 'Ptr64ToPtr': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\shared\basetsd.h 363 1 Build
Error C2601 'HandleToHandle64': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\shared\basetsd.h 372 1 Build
Error C2601 'Handle64ToHandle': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\shared\basetsd.h 381 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\shared\driverspecs.h 133 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\microsoft visual studio 14.0\vc\include\excpt.h 14 1 Build
Error C2601 'InlineIsEqualGUID': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\shared\guiddef.h 151 1 Build
Error C2601 'IsEqualGUID': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\shared\guiddef.h 160 1 Build
Error C2601 'operator ==': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\shared\guiddef.h 193 1 Build
Error C2601 'operator !=': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\shared\guiddef.h 198 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\shared\kernelspecs.h 43 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\shared\minwindef.h 42 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\shared\specstrings.h 63 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\shared\windef.h 17 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 28 1 Build
Error C2601 'Int64ShllMod32': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\um\winnt.h 888 1 Build
Error C2601 'Int64ShraMod32': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\um\winnt.h 904 1 Build
Error C2601 'Int64ShrlMod32': local function definitions are illegal c:\program files (x86)\windows kits\8.1\include\um\winnt.h 920 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 947 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 1027 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 1028 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 1029 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 1030 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 1179 1 Build
Error C2951 template declarations are only permitted at global, namespace, or class scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 1179 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2149 1 Build
Error C2951 template declarations are only permitted at global, namespace, or class scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2151 1 Build
Error C3856 'al_draw_textf': class is not a class template c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2151 1 Build
Error C2951 template declarations are only permitted at global, namespace, or class scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2154 1 Build
Error C2988 unrecognizable template declaration/definition c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2155 1 Build
Error C2059 syntax error: '<' c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2155 1 Build
Error C2951 template declarations are only permitted at global, namespace, or class scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2160 1 Build
Error C2988 unrecognizable template declaration/definition c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2161 1 Build
Error C2059 syntax error: '<' c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2161 1 Build
Error C2951 template declarations are only permitted at global, namespace, or class scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2166 1 Build
Error C2988 unrecognizable template declaration/definition c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2167 1 Build
Error C2059 syntax error: '<' c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2167 1 Build
Error C2951 template declarations are only permitted at global, namespace, or class scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2173 1 Build
Error C3856 'al_draw_textf': class is not a class template c:\program files (x86)\windows kits\8.1\include\um\winnt.h 2173 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 4807 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 4859 1 Build
Error C2598 linkage specification must be at global scope c:\program files (x86)\windows kits\8.1\include\um\winnt.h 4991 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5050 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5051 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5052 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5053 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5054 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5055 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5078 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5079 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5134 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5135 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5136 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5137 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5239 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5264 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5285 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5300 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5301 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5302 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5303 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5304 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5305 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5306 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5307 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5328 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5329 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5398 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5399 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5400 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5401 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5402 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5403 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5404 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5405 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5406 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5423 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5446 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5484 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5496 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5516 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5535 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5556 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5576 1 Build
Error C2447 '{': missing function header (old-style formal list?) c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5599 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5651 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5652 1 Build
Error C2156 pragma must be outside function c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5653 1 Build
Error C1003 error count exceeds 100; stopping compilation c:\program files (x86)\windows kits\8.1\include\um\winnt.h 5653 1 fatal Build
So whats going on? What are these strange errors and how could this be fixed?