2017-01-24 1 views
0

Я пытаюсь создать игру с Allegro 5 в Visual Studio Express 2012, но старый шаблон, который я сохранил, больше не работает. VS много жалуется на два конкретных файла, file.h и fmaths.h, захватывая все, начиная от синтаксических ошибок и заканчивая необъявленными идентификаторами. Вот мои ошибки:Рабочая программа с Allegro 5 больше не функционирует

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

Перейдите в окно вывода вместо списка ошибок и выясните, из каких из ваших собственных файлов они в конечном итоге связаны. Что-то может быть нарушено до того, как они будут включены. (Список ошибок - довольно мусор, чтобы узнать, что пошло не так, поскольку в нем нет никакого контекста.) – molbdnilo

+0

Кажется, в окне вывода его основные проблемы с файлом.h (жалуются на несколько разных вещей) и fmaths.inl (жалуясь на необъявленные идентификаторы). Это файл allegro, хотя, поэтому я не совсем уверен, в чем проблема. –

+0

Какая версия Allegro вы используете? Рассматривая строку 33 файла file.h в последней версии Allegro 5 (5.2.2), я не вижу, чтобы вы могли получать эти сообщения, кроме как переопределяя макрос 'AL_METHOD'. Но ваши номера строк в fmaths.inl не соответствуют коду в 5.2.2 ... (В любом случае вам нужно выяснить, что происходит * перед * '#include" file.h "'. Ищите свои собственные файлы на выходе.) – molbdnilo

ответ

0

У меня возникла очень похожая проблема после изменения моих включенных каталогов. После проверки журнала вывода сборки, чтобы увидеть, какой файл был виноват, я заметил, что он жаловался на заголовочный файл, который даже не был включен в файл.

Оказывается, один из моих файлов заголовков имел то же имя, что и один из файлов заголовков, включенных Allegro, и новый путь, который я добавил в мои включенные каталоги, имел приоритет при поиске файла. Он включал мой заголовочный файл, а не тот, который Allegro действительно искал.

Если у вас есть файлы заголовков с простыми именами типа «File.h», «IO.h» и т. Д., Которые, вероятно, будут использоваться, попробуйте переименовать их в другое.

Смежные вопросы