2017-01-24 2 views
0

Je suis en train de faire un jeu avec Allegro 5 dans Visual Studio Express 2012, mais l'ancien modèle que je ne semble pas sauvé être plus fonctionnel. VS se plaint beaucoup de deux fichiers particuliers, file.h et fmaths.h, se plaignant de tout, des erreurs de syntaxe aux identificateurs non déclarés. Voici mes erreurs:programme de travail avec Allegro 5 ne fonctionne plus

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 

Je ne suis pas tout à fait convaincu qu'il ya un problème avec mon et inclut les dépendances depuis ce programme à un moment donné a été la construction parfaitement bien sur la même machine. Des idées?

+0

Aller à la fenêtre de sortie au lieu de la liste d'erreurs et de déterminer lequel de vos propres fichiers ceux-ci sont finalement liés à. Quelque chose peut être cassé avant que cela inclut. (La liste d'erreurs est assez grossière pour découvrir ce qui ne va pas, puisqu'elle n'affiche aucun contexte.) – molbdnilo

+0

Apparaît dans la fenêtre de sortie, ses principaux problèmes sont avec file.h (se plaignant de plusieurs choses différentes) et fmaths.inl (se plaindre d'identifiants non déclarés). Ceci est un fichier allegro, cependant, je ne suis pas tout à fait sûr de ce que le problème est réel. –

+0

Quelle version d'Allegro utilisez-vous? En regardant la ligne 33 de file.h dans le plus récent Allegro 5 (5.2.2), je ne vois pas comment vous pourriez obtenir ces messages autrement qu'en redéfinissant la macro 'AL_METHOD'. Mais vos numéros de ligne dans fmaths.inl ne correspondent pas au code de 5.2.2 ... (Dans tous les cas, vous devez comprendre ce qui se passe * avant * '#include" file.h "'. Recherchez votre propre fichiers dans la sortie.) – molbdnilo

Répondre

0

j'ai rencontré un problème très similaire après avoir modifié mon inclure des répertoires. Après avoir vérifié le journal de sortie de construction pour voir quel fichier était à blâmer, j'ai remarqué qu'il se plaignait d'un fichier d'en-tête qui n'était même pas inclus par le fichier en question.

Il s'avère que l'un de mes fichiers d'en-tête avait le même nom que l'un des fichiers d'en-tête inclus par Allegro, et le nouveau chemin que j'avais ajouté à mes répertoires incluait la priorité pour localiser le fichier. Il comprenait mon fichier d'en-tête à la place de celui qu'Allegro recherchait réellement.

Si vous avez des fichiers d'en-tête avec des noms simples comme « fichier.h », « io.h », etc., qui sont susceptibles d'être utilisés, essayez de les renommer à autre chose.