[RESOLU] Problème compilation Visual C++

Problème compilation Visual C++ [RESOLU] - C++ - Programmation

Marsh Posté le 27-03-2011 à 00:04:42    

Bonsoir à tous  :)  
 
Alors voilà, je suis débutant en C++, et j'essaie de modifier le code source d'un programme déjà existant. Il s'agit de USBDumper 2, dont le code source est disponible sur internet (http://www.secuobs.com/USBDumper2.zip)
 
Je suis sur Visual C++ 6.0 sous Windows XP (en virtual machine, mais je pense que ceci n'a pas d'importance)
 
Seulement, lorsque je souhaite compiler le code source, même quand je ne modifie pas le code de départ, j'obtiens 3 erreurs :
 
USBDumper2Dlg.cpp(459) : error C2061: syntax error : identifier 'DWORD_PTR"
USBDumper2Dlg.cpp(460) : error C2511: 'OnDeviceChange' : overloaded member function 'int (unsigned int)' not found in 'CUSBDumper2Dlg'
USBDumper2Dlg.h(14) : see declaration of 'CUSBDumper2Dlg'
USBDumper2Dlg.cpp(870) : error C2065: 'BIF_USENEWUI' : undeclared identifier
Error executing cl.exe
 
USBDumper2Dlg.obj - 3 error(s), 0 warning(s)
 
 
 
J'ai cherché sur internet et je n'ai pas trouvé de réponses pour mon problème... Comme je suis débutant dans ce langage, je n'ai pas d'expérience dans le domaine, et je ne trouve donc pas d'où ces erreurs peuvent venir.
C'est pour cela que je viens sur ce forum. J'espère que vous pourrez m'aider à compiler ce programme, vu que je fournis la source aussi, j'espère que vous pourrez trouver une solution à mon problème.
 
Merci d'avance :)


Message édité par clmnt47 le 29-03-2011 à 22:54:09
Reply

Marsh Posté le 27-03-2011 à 00:04:42   

Reply

Marsh Posté le 27-03-2011 à 11:44:20    

Bonjour,
Pour BIF_USENEWUI -> http://msdn.microsoft.com/en-us/li [...] 85%29.aspx :

Citation :

BIF_USENEWUI
 
    Version 5.0. Use the new user interface, including an edit box. This flag is equivalent to BIF_EDITBOX | BIF_NEWDIALOGSTYLE.
 
    Note  If COM is initialized through CoInitializeEx with the COINIT_MULTITHREADED flag set, SHBrowseForFolder fails if BIF_USENEWUI is passed.


(tu dois utiliser une plus vielle version du sdk que celle utilisée pour faire le programme!)
 
Sinon pour DWORD_PTR -> http://msdn.microsoft.com/en-us/li [...] 10%29.aspx
 
Sinon il y a des problèmes d'entête: dans le fichier USBDumper2Dlg.h : l82, la définition de ondevicechange utilise un DWORD au lieu d'un DWORD_PTR
Dans ce fichier j'aurais mis aussi  

Code :
  1. #include <windows.h>
  2. #include <dbt.h>
  3. #include <direct.h>
  4. #include <ole2.h>
  5. #include <comdef.h>


 
pour qu'il puisse reconnaitre les type utilisé!
Dans le fichier USBDumper2Dlg.cpp
j'aurais inversa la déclaration des #include "" avec les #include <> qui devraient se trouver avant!


Message édité par breizhbugs le 27-03-2011 à 11:45:08

---------------
Seul Google le sait...
Reply

Marsh Posté le 27-03-2011 à 12:07:08    

ici ça compile sans modif  
 [:cosmoschtroumpf]
 
Même qu'en plus ça s'éxécute


Message édité par GrosBocdel le 27-03-2011 à 12:11:18
Reply

Marsh Posté le 27-03-2011 à 13:55:43    

VC2010 n'arrive pas a convertir le projet chez moi: il ne se passe rien quand je veux l'ouvrir!
Sinon tu n'as pas de warning rien?


---------------
Seul Google le sait...
Reply

Marsh Posté le 27-03-2011 à 15:08:01    

breizhbugs a écrit :

VC2010 n'arrive pas a convertir le projet chez moi: il ne se passe rien quand je veux l'ouvrir!
Sinon tu n'as pas de warning rien?


 
Non rien de rien, 0 error, 0 warning
Windows xp, .net 2.0 sp2, 3.0 sp2 et 3.5 sp1 sur la machine, avec vc6.

Reply

Marsh Posté le 27-03-2011 à 17:17:24    

Merci beaucoup pour vos réponses :)
 
Mais c'est tout de même étrange que ce code marche sans problème chez certains, mais qu'il pose des problèmes de compilation chez d'autres...
GrosBoc, tu as touché quelque chose à la configuration de ton vc6? J'ai entendu dire qu'il y avait un problème de SDK lorsqu'on essayait de faire tourner un programme "ancien" sur vc6...
 
Et breizhbugs, merci beaucoup pour ta réponse, mais je ne sais toujours pas comment régler le problème de SDK... J'ai regardé sur google, mais à part un "kit de mise à jour" de vc6, qui n'a rien changé, je n'ai rien trouvé...
 
Merci de votre aide :)

Reply

Marsh Posté le 27-03-2011 à 20:11:44    

clmnt47 a écrit :

Merci beaucoup pour vos réponses :)
 
Mais c'est tout de même étrange que ce code marche sans problème chez certains, mais qu'il pose des problèmes de compilation chez d'autres...
GrosBoc, tu as touché quelque chose à la configuration de ton vc6? J'ai entendu dire qu'il y avait un problème de SDK lorsqu'on essayait de faire tourner un programme "ancien" sur vc6...
 
Et breizhbugs, merci beaucoup pour ta réponse, mais je ne sais toujours pas comment régler le problème de SDK... J'ai regardé sur google, mais à part un "kit de mise à jour" de vc6, qui n'a rien changé, je n'ai rien trouvé...
 
Merci de votre aide :)


 
 
Je n'ai rien changé du tout dans la config (si je me souviens bien). Mais tu avais l'air de dire que tu tournais dans une VM? Je ne sais pas du tout comment ça se passe dans ce cas. Essaie d'installer .net 3.5 ou bien plus récent si ça existe?

Reply

Marsh Posté le 27-03-2011 à 21:06:56    

Alors oui je suis sous VM, parce que sinon je suis sous linux.
Ma virtual Machine est un Windows XP SP3, avec .NET 2.0 et .NET 3.5 installés, tout comme toi... Je me suis mis en .NET 4.0, ça n'a rien changé, j'ai désinstallé/réinstallé vc6, j'ai même testé avec un vc6 portable, j'ai testé sous express 2010, mais tout cela n'a pas marché...
 
J'ai vu sur internet aussi que certains n'avaient aucun problème pour compiler le code, mais que d'autres n'y arrivaient pas... Je me demande bien comment tu réussis à le compiler.
Si quelqu'un a une idée pour savoir d'où le problème peut bien venir...
Demain j'essaierai de faire tourner ça sur un windows 2000 ou sur un 98 afin de voir si la compilation pose problème sur ces OS aussi.
 
Merci de vos réponses :)

Reply

Marsh Posté le 28-03-2011 à 07:47:04    

clmnt47 a écrit :

Alors oui je suis sous VM, parce que sinon je suis sous linux.
Ma virtual Machine est un Windows XP SP3, avec .NET 2.0 et .NET 3.5 installés, tout comme toi... Je me suis mis en .NET 4.0, ça n'a rien changé, j'ai désinstallé/réinstallé vc6, j'ai même testé avec un vc6 portable, j'ai testé sous express 2010, mais tout cela n'a pas marché...
 
J'ai vu sur internet aussi que certains n'avaient aucun problème pour compiler le code, mais que d'autres n'y arrivaient pas... Je me demande bien comment tu réussis à le compiler.
Si quelqu'un a une idée pour savoir d'où le problème peut bien venir...
Demain j'essaierai de faire tourner ça sur un windows 2000 ou sur un 98 afin de voir si la compilation pose problème sur ces OS aussi.
 
Merci de vos réponses :)


 
J'avais eu ton problème de DWORD_PTR
ça me revient
http://social.msdn.microsoft.com/f [...] 2dd8e62da8
 
faut retrouver le sdk de février 2003.
Je me souviens avoir téléchargé l'archive par morceaux de 1.44 Mo
Faut retrouver


Message édité par GrosBocdel le 28-03-2011 à 07:50:19
Reply

Marsh Posté le 29-03-2011 à 22:53:26    

Merci à tous :)
 
Alors j'ai résolu mon problème. En effet il fallait le SDK de février 2003, qui est trouvable (difficilement) sur internet.
 
Donc pour tous ceux qui ont le même problème que moi, essayez de trouver le SDK de février 2003, il suffit de chercher "SDK february 2003 VC 6 download filesonic" sur google pour pouvoir le trouver (je ne vais pas mettre de lien ici, au risque que cela soit hors charte.)
 
Merci beaucoup pour votre aide, maintenant le code se compile sans aucune erreur :)

Reply

Marsh Posté le 29-03-2011 à 22:53:26   

Reply

Marsh Posté le 30-03-2011 à 08:52:12    

Je pense que même les mots clés sont hors charte...
 
Sinon, content pour toi  :)  
 

Reply

Sujets relatifs:

Leave a Replay

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