← retour à la page principale du projet
Rapport du vendredi 8 juillet 2005

Matin:
Pas de réponse si sur le forum Qt ni sur la mailing list de Coin.
Je commence à en avoir marre de perdre du temps à modifier toutes les 5 secondes mes variables d'environnement avec Panneau de configuration=>Système=>[...]. :-\
Il me faudrait un moyen beaucoup plus rapide... mais je ne trouve pas. Si vous avez une idée... :)
Je vais commencer par refaire la compilation de Coin (CVS) puis de SoQt avec Visual Studio & Qt3; histoire d'avoir les versions les plus récentes.
Pendant que ça compile, je cherche à récupérer une version plus récente de Qt3 via CVS. Forcément, ça ne marche toujours pas sous Windows. C'est parti pour quelques heures de folie sur ma session Linux...
Il faut régler les variables d'environnement correctement pour Qt3, puis exécuter les 2 fichiers $(COINDIR)\Coin-build\msvc7\installcoinheaders.bat & $(COINDIR)\build\msvc7\installcoin.bat .
Pendant ce temps, toujours les erreurs de fichiers au format Mac à corriger sous Coin. Reste que la compilation de Coin, c'est long, & ça prend des ressources!
Je suis en train de réaliser que je n'ai généré que la DLL Debug, & pas la DLL Release... :-S & hop, on est repartis! Il faudra ensuite que je génère la LIB debug ainsi que la LIB Release!
Apparemment, je n'aurai pas besoin de générer les LIB, c'est fait en même temps que les DLL. OK: 58 warnings pour le mode Release (j'ai oublié de noter pour le mode Debug).
Passons à SoQt CVS. Mais tout d'abord, il faut régler correctement les variables d'environnement pour Coin & Qt3, puis exécuter les 2 fichiers $(SOQTDIR)\build\msvc7\installsoqtheaders.bat & $(SOQTDIR)\build\msvc7\installsoqt.bat .
Bon, mauvaise nouvelle, j'ai une erreur que je n'avais pas hier...
error PRJ0019: A tool returned an error code from "moc'ing $(SOQT)\src\Inventor\Qt\widgets\SoQtThumbWheel.h"    soqt1   
Un problème avec mon installation de Qt, probablement. Je vérifie. Oui, effectivement, erreur de ma part dans les variables d'environnement.
Bon, le rapatriement de Qt3 est terminé sous Linux. Un checkout où il n'y a rien à updater prend quand même 2 minutes 40.
Ok pour SoQt en mode Debug (96 warnings). OK pour le mode Release, 95 warnings.
Cependant, les DLL & LIB sont placées respectivement dans des répertoires hésotériques ($(SOQTDIR)\build\msvc7\, $(SOQTDIR)\build\msvc7\Debug & $(SOQTDIR)\build\msvc7\Release). Je déplace donc les DLL dans Debug & Release, & j'inclus les 2 dossiers dans le PATH.
Bon, ben il n'y a plus qu'à reprendre le projet! :)
Bon, la bonne nouvelle, c'est que j'ai plus les mêmes erreurs. La mauvaise nouvelle, c'est que j'en ai 350! Bon, unresolved external symbol, c'est des problèmes de DLL.
OK, j'ai rajouté qt-mt3.lib dans les librairies à charger, je n'ai plus que 8 erreurs. Je pourrai rajouter qtmain.lib ou opengl32.lib, mais ça ne résout pas le problème.
En mode Release, par contre, j'ai 2 erreurs.
Il n'aime pas ring.cpp, lignes 753 & 802:     if (it == NULL)
error C2678: binary '==' : no operator found which takes a left-hand operand of type 'Ring::iterator' (or there is no acceptable conversion)
Bizarre, l'Intellisense me le propose pourtant.
Pour le mode Debug, j'ai rajouté toutes les libs disponibles dans Qt3. Nouvelle erreur:
fatal error LNK1104: cannot open file 'and.obj'    CosmeVS
Bon. J'espère que c'est pas un pb de PATH (genre le and de Documents and Settings). J'ai un command.obj & un moc_command.obj. À voir...


Après-midi:
Version de Qt Logiciel binaires livrés (.exe) compiler avec Visual Studio (*.sln; *.dsw; *.vcproj; *.dsp) Compiler avec Cygwin + Visual C++6 Compiler avec Cygwin + compilateur par défaut (MinGW)
Qt3 (Open Source SoQt OK OK pas testé pas testé
Coin OK OK pas testé pas testé
Qt4 (Open Source) SoQt OK X X X
Coin OK OK X X
Qt4 Commercial pas encore demandé
Je viens de comprendre pourquoi les DLL & LIB de SoQt ne sont pas placées correctement: il les copie dans $(COINDIR)... Donc, les liens vers les dossiers de librairies de SoQt & rajouter SoQt dans le PATH est inutile...
Bon, j'ai corrigé, j'ai de nouveau mes 8 erreurs. :-|
J'ai l'impression que les erreurs sont dans Cosme:
cosme.obj : error LNK2019: unresolved external symbol "public: static class QString __cdecl Cosme::tr(char const *,char const *)" (?tr@Cosme@@SA?AVQString@@PBD0@Z) referenced in function "private: __thiscall Cosme::Cosme(void)" (??0Cosme@@AAE@XZ)
cosme.obj : error LNK2001: unresolved external symbol "public: virtual char const * __thiscall Cosme::className(void)const " (?className@Cosme@@UBEPBDXZ)
cosme.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall Cosme::qt_cast(char const *)" (?qt_cast@Cosme@@UAEPAXPBD@Z)
cosme.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Cosme::qt_invoke(int,struct QUObject *)" (?qt_invoke@Cosme@@UAE_NHPAUQUObject@@@Z)
cosme.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Cosme::qt_emit(int,struct QUObject *)" (?qt_emit@Cosme@@UAE_NHPAUQUObject@@@Z)
cosme.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Cosme::qt_property(int,int,class QVariant *)" (?qt_property@Cosme@@UAE_NHHPAVQVariant@@@Z)
cosme.obj : error LNK2019: unresolved external symbol "public: static class QMetaObject * __cdecl Cosme::staticMetaObject(void)" (?staticMetaObject@Cosme@@SAPAVQMetaObject@@XZ) referenced in function "public: virtual class QMetaObject * __thiscall Cosme::metaObject(void)const " (?metaObject@Cosme@@UBEPAVQMetaObject@@XZ)
Debug\CosmeVS.exe : fatal error LNK1120: 7 unresolved externals
Je ne comprends pas; pas d'idée...
Lecture du code, relecture du Wiki.
Pas d'avancement significatif du côté du code, plusieurs essais infructueux...
J'ai imprimmé l'intégralité du code de Cosme.
Je viens de recevoir un mail me disant que je devrais passer à mon bahut lundi à 9 heures. Je bosserai chez moi de 8 heures à 8h50 (à peu près bien entendu :p), j'irai ensuite à mon bahut, puis je reviendrai directement ici. Il est fort probable que je doive encore passer à mon bahut durant le courant de la semaine.
J'ai rapatrié la dernière version de Qt3 via CVS, je l'ai transmis via WinSCP sur mon ordinateur. Pendant ce temps, j'ai continué à lire le code...

Week-end:
J'ai tenté de recompiler Qt3. Une erreur est apparue:
C:\ProjetCosme\C.V.S\qt-3>setenv.bat

C:\ProjetCosme\C.V.S\qt-3>configure-msvc.net.bat
Building Qt/Win Free for Microsoft Visual Studio .NET
install headers for bootstrapping...
building header copy tool...
        cl -c -nologo -Zm200 -EHsc -O1  -DUNICODE -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS
-D_CRT_SECURE_NO_DEPRECATE -I"C:\ProjetCosme\C.V.S\qt-3\src\tools" -I"C:\ProjetCosme\C.V.S\qt-3\src\kernel" -I"C:\ProjetCosme\C.V.S\qt-3\include" -I"C
:\ProjetCosme\C.V.S\qt-3\include\private" -I"C:\ProjetCosme\C.V.S\qt-3\qmake" -I"C:\ProjetCosme\C.V.S\qt-3\misc\link_includes" -I"C:\ProjetCosme\C.V.S
\qt-3\mkspecs\win32-msvc.net" -Fotmp\ @C:\DOCUME~1\Gilles\LOCALS~1\Temp\nmC1A.tmp
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.exe"' : return code '0xc0000135'
Stop.

An error occured. Configuration aborted.
Pareil avec configure-msvc.bat. J'ai remis l'ancienne version.

À effectuer prochainement:
demander de l'aide à Nico!!
tester le moc sous Visual Studio
Valid XHTML 1.0 Transitional