← retour à la page principale du projet
Rapport du mercredi 6 juillet 2005

Matin:
Suite à mon post d'hier soir sur le newsgroup de Coin, j'ai eu 2 réponses... pas satisfaisantes. Elles sous-entendent que SoQt n'est pas compatible Qt4, ce qui est en contradiction avec ce que m'avait annoncé Sébastien (cf http://groups.google.fr/group/comp.graphics.api.inventor/browse_thread/thread/341d33db7e2b5d99/dd4de834d6066267).
Une solution alternative & Open Source s'est proposée: QT3/Windows Free Edition (la page du projet semble avoir changé pour . Je la testerai prochainement.
Je vais essayer de compiler le CVS SoQt avec une version plus vielle de Visual Studio: 7.0 (.NET 2002).
J'ai donc téléchargé la version précompilée de Coin que j'ai installé (il manquait la variable d'environnement COINDIR que j'ai rajouté (égale à COIN3DDIR)). J'ai rapatrié le CVS de SoQt via Tortoise. Évidemment, à un moment, le fichier qevent.h s'est fait présentir, donc j'ai téléchargé Qt4 Open Source ainsi que MinGW.
Le répertoire msvc7 contient un fichier soqt1.sln (Erreur: Le fichier sélectionné n'est pas un fichier solution Visual Studio valide.) & un fichier soqt1.vcproj (Erreur: La version de votre fochier projet est '7.10'. Visual Studio .NET peut uniquement charger des fichiers projet de la version 7.0. Échec de l'ouverture du projet ...). Finalement, j'ai ouvert le projet msvc6 quej'ai convertie en msvc7.
Ne pas oublier de corriger quelques erreurs dans les include ainsi que d'exécuter les 2 fichiers .bat.
Exactement les mêmes erreurs que sous Visual Studio 2005 (1 warning & plus de 100 erreurs):
\src\Inventor\Qt\devices\SoQtSpaceball.cpp(123) : warning C4805: '==' : mélange risqué de type 'int' et de type 'bool' dans l'opération
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(92) : error C2589: '(' : jeton non conforme à droite de '::'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(92) : error C2143: erreur de syntaxe : absence de '}' avant '::'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(92) : error C2143: erreur de syntaxe : absence de '}' avant '::'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(92) : error C2143: erreur de syntaxe : absence de ';' avant '::'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(92) : error C2059: erreur de syntaxe : '::'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(92) : error C2143: erreur de syntaxe : absence de ';' avant '}'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(92) : error C2059: erreur de syntaxe : '}'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(96) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(96) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(96) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(97) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(97) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(97) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(98) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(98) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(98) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(99) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(99) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(99) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(100) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(100) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(100) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(101) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(101) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(101) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(102) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(102) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(102) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(103) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(103) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(103) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(104) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(104) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(104) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(105) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(105) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(105) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(106) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(106) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(106) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(107) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(107) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(107) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(109) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(109) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(109) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(110) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(110) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(110) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(114) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(114) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(114) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(116) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(116) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(116) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(117) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(117) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(117) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(118) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(118) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(118) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(119) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(119) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(119) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(121) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(121) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(121) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(122) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(122) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(122) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(123) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(123) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(123) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(124) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(124) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(124) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(125) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(125) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(125) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(126) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(126) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(126) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(127) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(127) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(127) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(128) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(128) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(128) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(129) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(129) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(129) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(130) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(130) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(130) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(131) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(131) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(131) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(132) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(132) : error C2447: '{' : en-tête de fonction manquant (liste formelle à l'ancien format ?)
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(132) : error C2059: erreur de syntaxe : ','
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(133) : error C2143: erreur de syntaxe : absence de ';' avant '{'
\src\Inventor\Qt\devices\SoQtKeyboard.cpp(133) : fatal error C1003: le nombre d'erreurs est supérieur à 100 ; arrêt de la compilation
Pas de version de Visual Studio .NET 2003 (7.1) disponible à l'ISIA.
À présent, je teste QT3/Windows Free Edition.
Je n'arrive pas à rapatrier le CVS avec Tortoise, je passe par Linux. Apparemment, le soft est adapté à Visual Studio 2005.
Le rapatriement par CVS est super long - compter plus d'une demi-heure: 900 dossiers & 8400 fichiers.
Du coup, la copie sur clé USB pour passer de Linux à Windows est longue aussi. :-\

Après-midi:
1 heure pour copier les fichiers de Linux sur la clé, 4 minutes pour les copier de la clé à Windows...
1 heure 15 de compilation.
Réunion avec Audrey & Yannick: discussion autour des lignes de conduite à suivre, Yannick va remplir le formulaire pour demander une version d'essai de la version Commerciale de Qt4. Audrey & Yannick ont proposé de récupérer le code Fortran du programme qui compile le fichier .out binaire, & d'en faire un module appelable par le futur programme, une spécification complète ne pouvant être demandée. Les tests avec Qt3 &/ou SFU (Services For Unix) seront continué, mais pas après Vendredi soir.
Je teste Qt3 avec SoQt précompilé & Coin précompilé: encore des modifs de path à la clé, certains DLL de Windows demandent à être loadées, mais ne se trouvent pas dans des répertoires sans espace. Comme solution temporaire, je les ai copiées dans un dossier sans espace, que j'ai rajouté au PATH. Voici la liste:
'TestSoQtVS.exe': Loaded 'C:\Documents and Settings\Gilles\My Documents\Visual Studio 2005\Projects\SoQtVS\TestSoQtVS\TestSoQtVS\Release\TestSoQtVS.exe', Symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\ProjetCosme\SoQt\bin\soqt1.dll', Binary was not built with debug information.
'TestSoQtVS.exe': Loaded 'C:\ProjetCosme\C.V.S\qt-3\bin\qt-mt301.dll', Binary was not built with debug information.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\user32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50215.4652_x-ww_b7aeacd4\msvcp80.dll', Symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50215.4652_x-ww_b7aeacd4\msvcr80.dll', Symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\ProjetCosme\Coin\bin\coin2.dll', Binary was not built with debug information.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\opengl32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\glu32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\ddraw.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\dciman32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\lpk.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\usp10.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\MsgPlusLoader.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2527_x-ww_aa415c8a\comctl32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\uxtheme.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\msimg32.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\version.dll', No symbols loaded.
'TestSoQtVS.exe': Unloaded 'C:\WINDOWS\system32\version.dll'
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\msctfime.ime', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\nvoglnt.dll', No symbols loaded.
'TestSoQtVS.exe': Loaded 'C:\WINDOWS\system32\mcd32.dll', No symbols loaded.
'TestSoQtVS.exe': Unloaded 'C:\WINDOWS\system32\mcd32.dll'
'TestSoQtVS.exe': Loaded 'C:\Program Files\Copernic Desktop Search\CopernicDesktopSearchSystem644.dll', Binary was not built with debug information.
Ne me demandez pas pourquoi il a requis MSN Messenger Plus ou Copernic Desktop Search. Ce sont des programmes installés sur mon OS & qui tournent en permanence en arrière plan.
Le programme demande qt-mt301.dll qui n'existe pas, j'ai fait une copie de qt-mt3.dll en ce nom.
En mode Debug, le programme fait appel à une DLL nommée msvcrtd.dll qui n'existe pas sur l'ordinateur. Il est possible de la télécharger sur le web (j'ai téléchargé cette version, qui pose problème). En mode Release, l'application fait appel à la librairie équivalente nommée msvcrt.dll, normalement présente dans tout %windir%\system32\ de Windows.
Voici le résultat:
Yeah!
Bon, je suis content, j'ai gagné ma journée.
J'ai commencé à essayer de passer le programme de Linux à Windows. J'ai des dizaines d'erreurs, manifestement des différences entre le C de Linux & le C de Windows.
Ce serait cool que Nicolas puisse installer la même configuration que moi pour m'aider. J'ai uploadé sur le CVS 2 projets dans le sous-répertoire SandBox: le projet Cône Jaune ci-dessus, & le projet Cosme légèrement modifié qui ne compile pas, mais alors pas du tout.

À effectuer prochainement:
Comprendre les erreurs, & essayer de les corriger avec l'aide de Nicolas.
Valid XHTML 1.0 Transitional