[Visual C++ 6] Pb avec VFW.h

Pb avec VFW.h [Visual C++ 6] - C++ - Programmation

Marsh Posté le 29-03-2005 à 13:18:32    

Alors que mon code tournait sans problème sous dev c++, j'utilise maintenant VC98
 
il me sort, au niveau du include de vfw

Citation :

c:\program files\microsoft visual studio\vc98\include\vfw.h(67) : error C2146: syntax error : missing ';' before identifier 'FAR'
c:\program files\microsoft visual studio\vc98\include\vfw.h(67) : error C2501: 'DWORD' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\vfw.h(67) : fatal error C1004: unexpected end of file found


 
La ligne 67 :
 

Code :
  1. DWORD FAR PASCAL VideoForWindowsVersion(void);


 
Avec les librairies Dev C++, la ligne correspondante est :
 

Code :
  1. DWORD VFWAPI VideoForWindowsVersion(VOID);


 
J'imagine donc que FAR PASCAL n'est pas reconnu, connaissez vous la librairie à inclure pour que ca fonctionne enfin ?
 
 

Reply

Marsh Posté le 29-03-2005 à 13:18:32   

Reply

Marsh Posté le 29-03-2005 à 13:33:12    

tu as inclus <windows.h> au début ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 29-03-2005 à 14:08:38    

Yes je l'avais inclus, mais il voulait windef apparemment donc c'est pour cela que ca plantait...
 
Maintenant sur le même code il bloque avec :
 

Code :
  1. c:\program files\microsoft visual studio\vc98\include\utility(21) : error C2536: 'std::pair<char [4],char [5]>::first' : cannot specify explicit initializer for arrays
  2.         c:\program files\microsoft visual studio\vc98\include\utility(25) : see declaration of 'first'
  3.         c:\program files\microsoft visual studio\vc98\include\utility(21) : while compiling class-template member function '__thiscall std::pair<char [4],char [5]>::std::pair<char [4],char [5]>(const char (& )[4],const char (& )[5])'
  4. c:\program files\microsoft visual studio\vc98\include\utility(21) : error C2536: 'std::pair<char [4],char [5]>::second' : cannot specify explicit initializer for arrays
  5.         c:\program files\microsoft visual studio\vc98\include\utility(26) : see declaration of 'second'
  6.         c:\program files\microsoft visual studio\vc98\include\utility(21) : while compiling class-template member function '__thiscall std::pair<char [4],char [5]>::std::pair<char [4],char [5]>(const char (& )[4],const char (& )[5])'


 
Je vais chercher un peu pour voir si c'est qqch de connu...
C'est mes 4 dernières erreurs et après j'aurais successfully transposé de dev c++ à VC++...
 
Mais si tu le sais, toi, tu peux m'éviter cette recherche :)
 
PS : le PC avec le compilo n'est pas celui avec lequel je poste, d'où les petits décallages


Message édité par kowalski le 29-03-2005 à 14:09:13
Reply

Marsh Posté le 29-03-2005 à 14:14:34    

J'ai trouvé un début d'esquisse de réponse
 

Citation :

Note the 'const' required after 'KeyType'. Also, after getting VC compiler warning C4503 because of the function ptr with StringList param, I learned how to use a wrapper class as the map value instead. Also, to fix error C2536 (explicit initializer for arrays), add string( ) wrapper around char[] keys.


 
Intéressant...

Reply

Marsh Posté le 29-03-2005 à 15:00:30    

<windef.h> est inclus par <windows.h>
Ton erreur suivante vient d'ailleurs. Apparement le mec utilisait des char[] à la place de std::string.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 29-03-2005 à 15:36:07    

HelloWorld a écrit :

<windef.h> est inclus par <windows.h>
Ton erreur suivante vient d'ailleurs. Apparement le mec utilisait des char[] à la place de std::string.


 
En fait je viens de tester et si dans mes "make_pair" je mets effectivement

Code :
  1. string("monstring" )

ca fonctionne, alors qu'en mettant uniquement

Code :
  1. monstring

, non.
Ca passait sous dev c++, bref !
 
Pour windef effectivement il y a qqch qui m'échappe, à moins que dans mon élan de générosité à mettre des windef partout j'ai ajouté un windows.h dans un fichier ou il n'était pas encore... je pense que c'est la solution :)
 
En ts cas la migration est terminée vers VC, passons aux choses sérieuses

Reply

Sujets relatifs:

Leave a Replay

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