Projet Handicap et Accessibilité (really need help)

Projet Handicap et Accessibilité (really need help) - C++ - Programmation

Marsh Posté le 14-03-2009 à 18:31:09    

Bonjour,
 
Historique:
J'utilise ce programme (http://nipg.inf.elte.hu/headmouse/headmouse.html) afin de piloter mon ordi au quotidien (bouger la souris grace aux mouvements de ma tete et d'une webcam, je suis devenu tetraplégique à cause d'une maladie (http://fr.wikipedia.org/wiki/Scl%C [...] otrophique)).
Il fonctionne trés bien sous XP,mais hélas pas sous vista.
Mon portable rendant l'ame, je dois donc migrer sur Vista:(.

Description:

Par chance ce programme est sous GPL ici (http://sourceforge.net/projects/erutarian/)
voici une copie du code source http://www.megaupload.com/?d=W5G7MXJQ (400Ko).
J'ai récupéré les sources par CVS.
Mais la compilation ne marche pas :(
Le code a été posté sans explications...
J'ai compris qu'il a été developpé a l'aide de MFC AppWizard
Je ne suis qu'un trés piètre programmeur, je me débrouille beaucoup mieux en script :lol: je dois avoir du mal avec la POO  
 
Applis installées:
- Opencv http://sourceforge.net/project/sho [...] p_id=22870
- Directx sdk nov2008(http://www.microsoft.com/downloads [...] laylang=en) et aout2007 (http://www.microsoft.com/downloads [...] laylang=en pour dxtrans.h)
- VisualStudio Express 2008
- Obligation de compiler C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses pour avoir strmbase.lib et streams.h
 
Les Libs:
- cv.h = opencv
- dxtrans.h = DirectX sdk aout2007
- streams.h = C:\Program Files\Microsoft SDKs\Windows\v6.x\Samples\Multimedia\DirectShow\BaseClasses
- strmbase.lib = compilation du projet exemple: C:\Program Files\Microsoft SDKs\Windows\v6.x\Samples\Multimedia\DirectShow\BaseClasses
 
Pour les intégrer dans VisualStuduio2008:
Aller dans :
outils/option
projets et solutions
repertoires de VC++
puis selectuionner : afficher les repertoires pour: (en hut à droite)
- fichiers include:
C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses
C:\Program Files\Microsoft DirectX SDK (August 2007)\Include
C:\Program Files\Microsoft DirectX SDK (November 2008)\Include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\_graphics\include
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\cv\include
 
- fichiers bibliotheque:
C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\Release( apres compil sample)*
C:\Program Files\Microsoft DirectX SDK (November 2008)\Lib\x86
C:\Program Files\OpenCV\lib
Modifications:
- m_bTracking = false; à m_bTracking = true; ligne73 de HeadmouseDoc.cpp
 
Le problème:

Code :
  1. for(list<string>::const_iterator i=m_windows.begin(); i!=m_windows.end() && !tobreak; ++i) // i est bien declaré ici   
  2. {
  3. if(0==strcmp((*(i)).c_str(),title))
  4.   tobreak=true;
  5. }
  6. if(tobreak || i==m_windows.end()) //ligne 46 var i not declare


 
En fait, i est déclaré à l'intérieur de la boucle for, et est donc théoriquement invisible en dehors de cette boucle, sauf avec certains compilateurs.
Il faudrait essayer les lignes suivantes à la place :

Code :
  1. list<string>::const_iterator i=m_windows.begin();
  2. for(; i!=m_windows.end() && !tobreak; ++i)
  3. {
  4. if(0==strcmp((*(i)).c_str(),title))
  5.   tobreak=true;
  6. }
  7. if(tobreak || i==m_windows.end())

Merci olivthill pour la soluce :)
 
Compilation ok
je copie les fichiers sur le PC de ma femme (vista), et la, "erreur configuration application cote à cote".
J'ai fait des recherches msdn, et cela correspond au type de déploiement souhaité à ce que j'ai compris.
Comment VSC++2008 genere un paquetage isolé? dans mon cas, le fichier .exe et 4 dll deja compilé et un xml?
les options de compilation sont pas super claires.  
Apres test, la procédure http://msdn.microsoft.com/fr-fr/library/ms235317.aspx ne se passe pas vraimment come prévu.
Impossible d'appiquer l'étape 5 :pt1cable:  
 
Donc voici le topo:
Code source : ok
Génération : ok
-- Dans le repertoire "headmouse/headmouse/release": 1 fichier .exe "headmouse.exe" , en compagnie de fichier .obj, .xdc, .pdb,idb, xml, pch
-- Dans le repertoire "headmouse/processlib/release": 1 fichier process.lib et des fichiers.obj
 
Je lance un deboguage sur "headmouse.exe" qui me demande de rajouter des DLLs manquantes (je vais les chercher ici: /program files/OpenCV/bin):
- cv110.dll
- cvxcore110.dll
- highgui110.dll
 
Aprés ca, ne constatant aucun plantage, je créé un projet d'installation en suivant le pas à pas.
Malgrés cela, ca ne marche pas :(
 
J'ai tout repris:
- recréé le projet.
- ajouté un projet d'installation au projet en cours.
- paramétré le setup et les dépendances.
 
lancement du setup
- ok
- vérification, tout les fichiers sont la au bon endroit.
lancement du programme sur Vista 32 et 64.
- erreur 0xc0150002
installation de Microsoft Visual C++ 2008 Redistributable Package http://www.microsoft.com/downloads [...] laylang=en
- erreur 0xc0150002
installation de Microsoft Visual C++ 2005 Redistributable Package http://www.microsoft.com/downloads [...] laylang=en
- erreur 0xc0150002
 
Si quelqu'un pouvait tester le projet? http://www.megaupload.com/?d=W5G7MXJQ (400Ko)
 
Merci de votre aide
 
Ce projet n'est seulement utile pour moi, mais aussi pour toutes les personnes ne pouvant se servir d'une souris.
Parmis les logiciels gratuits en GPL, il surpasse les payants en simplicité, précision, ergonomie.
 
Merci encore.

Kilhian


Message édité par kilhian le 07-04-2009 à 14:55:47
Reply

Marsh Posté le 14-03-2009 à 18:31:09   

Reply

Marsh Posté le 15-03-2009 à 09:38:22    

Harkonnen, peut-être ?


Message édité par el muchacho le 15-03-2009 à 09:40:25

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 15-03-2009 à 21:49:49    

Je te conseille de demander sur les forums de developpez.net, ou tu trouvera probablement plus d'aide que sur hfr sur ce type de problème assez obscur.

Reply

Marsh Posté le 15-03-2009 à 21:53:06    

C'est effectivement une bonne idée.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 15-03-2009 à 22:58:34    

merci :)
Mais j'ai encore moins de réponses qu'ici...  
0 pour etre exact :(

Reply

Marsh Posté le 16-03-2009 à 08:57:54    

Testé sur VS 2008, mais, il manque des  fichiers :

Citation :


1>------ Début de la génération : Projet : ProcessLib, Configuration : Release Win32 ------
1>Compilation en cours...
1>Initializer.cpp
1>c:\users\xavier\desktop\headmouse\processlib\ImageSource.h(17) : fatal error C1083: Impossible d'ouvrir le fichier include : 'cv.h' : No such file or directory
1>Tracker.cpp
1> WINVER not defined. Defaulting to 0x0600 (Windows Vista)
1>c:\users\xavier\desktop\headmouse\processlib\Tracker.h(21) : fatal error C1083: Impossible d'ouvrir le fichier include : 'cv.h' : No such file or directory
1>ObjectToTrack.cpp
1> WINVER not defined. Defaulting to 0x0600 (Windows Vista)
1>c:\users\xavier\desktop\headmouse\processlib\ObjectToTrack.h(21) : fatal error C1083: Impossible d'ouvrir le fichier include : 'cv.h' : No such file or directory
1>Génération de code en cours...
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Users\Xavier\Desktop\headmouse\ProcessLib\Release\BuildLog.htm"
1>ProcessLib - 3 erreur(s), 0 avertissement(s)
2>------ Début de la génération : Projet : headmouse, Configuration : Release Win32 ------
2>Compilation en cours...
2>StdAfx.cpp
2> WINVER not defined. Defaulting to 0x0600 (Windows Vista)
2>Compilation en cours...
2>SensDialog.cpp
2>.\SensDialog.cpp(58) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
2>MainFrm.cpp
2>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\qedit.h(498) : fatal error C1083: Impossible d'ouvrir le fichier include : 'dxtrans.h' : No such file or directory
2>headmouseView.cpp
2>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\qedit.h(498) : fatal error C1083: Impossible d'ouvrir le fichier include : 'dxtrans.h' : No such file or directory
2>headmouseDoc.cpp
2>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\qedit.h(498) : fatal error C1083: Impossible d'ouvrir le fichier include : 'dxtrans.h' : No such file or directory
2>headmouse.cpp
2>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\qedit.h(498) : fatal error C1083: Impossible d'ouvrir le fichier include : 'dxtrans.h' : No such file or directory
2>GraphBase.cpp
2>.\GraphBase.cpp(7) : fatal error C1083: Impossible d'ouvrir le fichier include : 'streams.h' : No such file or directory
2>Génération de code en cours...
2>Le journal de génération a été enregistré à l'emplacement "file://c:\Users\Xavier\Desktop\headmouse\headmouse\Release\BuildLog.htm"
2>headmouse - 6 erreur(s), 0 avertissement(s)
========== Génération : 0 a réussi, 2 a échoué, 0 mis à jour, 0 a été ignoré ==========


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 16-03-2009 à 09:00:39    

ah ouais, mais j'ai pas CVS d'installé moi :/
j'imagine que "cv.h" doit en faire partie


Message édité par Harkonnen le 16-03-2009 à 09:01:17

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 16-03-2009 à 09:00:46    

Ah ben ouais, chez moi le projet compile sous XP, avec les libs XP (j'ai pas Vista).
J'ai pas utilisé CVS non plus.
Si ça se trouve, kilhian a compilé sous XP et tenté d'installer sous Vista--> Boum


Message édité par el muchacho le 16-03-2009 à 09:02:03

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 16-03-2009 à 09:03:49    

y'a aussi le SDK de DirectX à installer (dxtrans.h)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 16-03-2009 à 09:05:32    

et ce fichier "cv.h", il sort d'où s'il ne vient pas de CVS ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 16-03-2009 à 09:05:32   

Reply

Marsh Posté le 16-03-2009 à 09:12:57    

Je comprends pas, que se passe-t'il si tu changes WINVER pour XP ?


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 16-03-2009 à 10:50:35    

cv.h vient :
- soit du projet, et je ne vois pas trop pourquoi il serait utilisé en compilation Vista et pas sous XP,
- soit d'OpenCV, dont les sources sont téléchargeables sur SourceForge (sans CVS).


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 16-03-2009 à 14:13:38    

yop yop
donc cv.h se trouve ici:Opencv http://sourceforge.net/project/sho [...] p_id=22870
- dxtrans.h la: http://www.microsoft.com/downloads [...] laylang=en
- Directx sdk nov2008(http://www.microsoft.com/downloads [...] laylang=en)
- Obligation de compiler C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\*.vcproj pour avoir strmbase.lib qui sera dans \release\
- dxtrans.h est ici: C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\
Le CVS n'est pas necessaire j'ai mis des liens directs
 
Merci à vous :)

Reply

Marsh Posté le 24-03-2009 à 16:12:55    

UP
 
Personne n'a pu créer un package?
 
Merci de votre saide
 
kilhian

Reply

Marsh Posté le 25-03-2009 à 14:03:48    

:/ Faut mettre la pression sur Harko :o


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 25-03-2009 à 14:50:19    

ouais ben en ce moment chuis un peu booké et je rentre à pas d'heure chez moi :o
je regarde ça ce wk end si je peux


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 26-03-2009 à 17:14:13    

yessss merki

Reply

Marsh Posté le 30-03-2009 à 13:11:45    

Harkonnen a écrit :

ouais ben en ce moment chuis un peu booké et je rentre à pas d'heure chez moi :o
je regarde ça ce wk end si je peux


 
Prends ton temps
 
Dommage que j'ai quitté Bdx, je t'aurais volontiers offert une offrande du Dieu "La Picole" :)

Reply

Marsh Posté le 09-04-2009 à 21:52:51    

petit up :)

Reply

Sujets relatifs:

Leave a Replay

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