problème à la compilation MFC

problème à la compilation MFC - C++ - Programmation

Marsh Posté le 13-02-2006 à 10:16:59    

Bonjour,
 
Je travaille actuellement sur un programme permettant d'extraire les images d'une vidéo et de les convertir en images bitmap. Lors de la compilation, j'ai l'erreur suivante :  
c:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal error C1189: #error : WINDOWS.H alreadyincluded. MFC apps must not #include<windows.h> .
 
Quelqu'un peut-il m'aider à la résoudre svp?    Merci

Reply

Marsh Posté le 13-02-2006 à 10:16:59   

Reply

Marsh Posté le 13-02-2006 à 10:26:42    

retire ton #include <windows.h> ? [:dawa]

Reply

Marsh Posté le 13-02-2006 à 10:32:10    

C'est pas afxwin.h l'entête principal windows en MFC ?

Reply

Marsh Posté le 13-02-2006 à 10:56:30    

Merci à vous d'avoir répondu!
 
J'ai retiré le #include<windows.h> et j'ai 3 erreurs :  
 
error C2146: syntax error : missing ';' before identifier 'FAR'
error C2501: 'DWORD' : missing storage-class or type specifiers
fatal error C1004: unexpected end of file found
 
Je ne comprends pas la première car je n'ai pas cette variable dans mon prgrm, de plus comment savoir à quelle ligne se trouvent les fautes?
 
En ce qui concerne l'entête j'ai afx.h et ça a l'air de fonctionner!

Reply

Marsh Posté le 13-02-2006 à 11:09:56    

De même pour DWORD, je ne sais pas d'où ça sort!

Reply

Marsh Posté le 13-02-2006 à 11:28:43    

DWORD est défini dans windef.h
http://doc.ddart.net/msdn/header/include/windef.h.html
 
Cet en-tête doit être inclus par ton fichier d'en-tête afx.h
 
Vérifie le contenu du fichier.


Message édité par slash33 le 13-02-2006 à 11:30:54
Reply

Marsh Posté le 13-02-2006 à 11:40:34    

Ca a l'air bon mais le message est le suivant :  
c:\program files\microsoft visual studio\vc98\include\vfw.h(67) : error dword...
 
Ne serait-ce donc pas un problème au niveau de l'entête vfw plutôt?

Reply

Marsh Posté le 13-02-2006 à 11:52:56    

Les autres erreurs ont également la même entête...

Reply

Marsh Posté le 13-02-2006 à 12:43:03    

Il s'agit peut-être d'un problème avec ton entête principal.
 
Tu as dit que tu avais un fichier afx.h. Ce n'est pas plutôt stdafx.h ?


Message édité par slash33 le 13-02-2006 à 12:46:10
Reply

Marsh Posté le 13-02-2006 à 14:02:30    

Non, pas de stdafx mais bien afx.h.  L'entête principale de mon prgrm est la suivante :   #include<vfw.h>
                         #include<afx.h>
Peut-être ma

Reply

Marsh Posté le 13-02-2006 à 14:02:30   

Reply

Marsh Posté le 13-02-2006 à 14:02:52    

Peut-etre manque-t-il qque chose??

Reply

Marsh Posté le 13-02-2006 à 14:05:48    

Effectivement il y a bien un entête afx dans les MFC : http://www.cppdoc.com/example/mfc/ [...] AFX.H.html
 
Je serais toi je ferai ça :
 
#include <afx.h>
#include <vfw.h>
 
au lieu de :
 
#include <vfw.h>
#include <afx.h>
 
Car dans le second cas, le compilo ne connait aucun des types définis dans les MFC au moment de compiler vfw.h !


Message édité par slash33 le 13-02-2006 à 14:07:07
Reply

Marsh Posté le 13-02-2006 à 14:37:12    

OK   J'ai un peu plus d'erreurs du coup : (102 en tout)
 
-->'PEGTFRAME' :  undeclared identifier
-->syntax error : missing ';' before identifier 'pFrame'
-->'pFrame' : undeclared identifier
-->'=' cannot convertt from strtuct IGetFrame *' to 'int'
-->'CreateFromPackedDIBPointer' : undeclared identifier
-->'CreateFromPackedDIBPointer' : redefinition;different type modifiers
-->syntax error : identifier 'RCHAR'
-->invalid preprocessor command 'ifdef_UNICODE'
--> Le reste c'est la même erreur répétée 100 fois : missing ';' before '{' et la ligne de code concernée est la suivante :  
 
if (fp!=NULL)
{
fwrite...
 
Si je mets un ';' ça ne change rien.
 
Il doit me manquer des trucs dans l'entête non?

Reply

Marsh Posté le 13-02-2006 à 14:42:12    

J'avais fais une bêtise RCHAR au lieu de TCHAR! ça cahnge les 100 fautes mais les 6 premières fautes sont toujours là!

Reply

Marsh Posté le 13-02-2006 à 14:51:29    

c'est quoi ce ifdef_UNICODE ? Ca devrait être ifdef _UNICODE (avec l'espace)
 
Les erreurs ont l'air de venir de ton code source à présent.
Par exemple PEGTFRAME n'est pas référencé par Google donc j'en déduis que c'est une structure à toi ?
 
Vérifie bien à quels fichiers les erreurs font référence.
 
Ceci pourra peut être t'aider : http://www.codeproject.com/audio/ExtractAVIFrames.asp
 
Je dois te laisser pour le reste de la journée. Mon examen m'attend.


Message édité par slash33 le 13-02-2006 à 14:54:38
Reply

Marsh Posté le 13-02-2006 à 14:53:51    

OK Merci beaucoup pour ton aide!!!!!

Reply

Marsh Posté le 13-02-2006 à 14:55:05    

J'ai édité mon message. A +
 
(je reviens ce soir à 22h)


Message édité par slash33 le 13-02-2006 à 14:56:38
Reply

Marsh Posté le 13-02-2006 à 14:57:17    

Merci encore! A+
 
En fait c'était PGETFRAME

Reply

Marsh Posté le 13-02-2006 à 14:59:45    

elo29 a écrit :

En fait c'était PGETFRAME


Voir mon lien précédent alors.
 
Bon maintenant j'y vais.  :sarcastic:

Reply

Marsh Posté le 13-02-2006 à 21:55:54    

Me revoila.
 
(le sale quart d'heure est passé)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed