我正在尝试使用Visual Studio Express 2012中的Allegro 5进行游戏,但我保存的旧模板似乎不再具有功能。 VS抱怨很多关于两个特定文件,file.h和fmaths.h,从句法错误到未声明的标识符等所有内容。这是我的错误:
Error 1 error C2059: syntax error : '__cdecl' c:\allegro5-msvc11\include\allegro5\file.h 33 1 Super Boulder Whisperer
Error 2 error C2061: syntax error : identifier 'ALLEGRO_FILE' c:\allegro5-msvc11\include\allegro5\file.h 33 1 Super Boulder Whisperer
Error 3 error C2091: function returns function c:\allegro5-msvc11\include\allegro5\file.h 33 1 Super Boulder Whisperer
Error 4 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\allegro5-msvc11\include\allegro5\file.h 33 1 Super Boulder Whisperer
Error 6 error C2065: 'ERANGE' : undeclared identifier c:\allegro5-msvc11\include\allegro5\inline\fmaths.inl 43 1 Super Boulder Whisperer
Error 7 error C2065: 'ERANGE' : undeclared identifier c:\allegro5-msvc11\include\allegro5\inline\fmaths.inl 72 1 Super Boulder Whisperer
Error 8 error C2065: 'ERANGE' : undeclared identifier c:\allegro5-msvc11\include\allegro5\inline\fmaths.inl 95 1 Super Boulder Whisperer
Error 9 error C2065: 'ERANGE' : undeclared identifier c:\allegro5-msvc11\include\allegro5\inline\fmaths.inl 172 1 Super Boulder Whisperer
Error 10 error C2065: 'ERANGE' : undeclared identifier c:\allegro5-msvc11\include\allegro5\inline\fmaths.inl 194 1 Super Boulder Whisperer
Error 11 error C2065: 'EDOM' : undeclared identifier c:\allegro5-msvc11\include\allegro5\inline\fmaths.inl 235 1 Super Boulder Whisperer
Error 12 error C2065: 'EDOM' : undeclared identifier c:\allegro5-msvc11\include\allegro5\inline\fmaths.inl 246 1 Super Boulder Whisperer
我并不完全相信我的包含和依赖项存在问题,因为这个程序曾经在同一台机器上构建完美。有什么想法吗?
答案 0 :(得分:0)
修改include目录后遇到了类似的问题。在检查构建输出日志以查看应该归咎于哪个文件之后,我注意到它正在抱怨一个头文件甚至没有包含在相关文件中。
事实证明我的一个头文件与Allegro包含的头文件之一具有相同的名称,我添加到include目录的新路径在查找文件时优先。它包括我的头文件,而不是Allegro实际上正在寻找的那个。
如果您有任何简单名称的头文件,例如" File.h"," IO.h"等可能正在使用的头文件,请尝试将它们重命名为某些内容其他