Allegro 5的工作程序不再起作用

时间:2017-01-24 09:41:24

标签: c++ visual-studio allegro5

我正在尝试使用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

我并不完全相信我的包含和依赖项存在问题,因为这个程序曾经在同一台机器上构建完美。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

修改include目录后遇到了类似的问题。在检查构建输出日志以查看应该归咎于哪个文件之后,我注意到它正在抱怨一个头文件甚至没有包含在相关文件中。

事实证明我的一个头文件与Allegro包含的头文件之一具有相同的名称,我添加到include目录的新路径在查找文件时优先。它包括我的头文件,而不是Allegro实际上正在寻找的那个。

如果您有任何简单名称的头文件,例如" File.h"," IO.h"等可能正在使用的头文件,请尝试将它们重命名为某些内容其他