[Linux-bruxelles] Continued: celestia et gcc 3.2, va-t-il trouver la solution?

Geoffroy Stevenne geof at hellea.com
Mar 24 Sep 03:51:39 CEST 2002


Le Tue, 24 Sep 2002 02:46:15 +0200
Geoffroy Stevenne <geof at hellea.com> a écrit:

> starbrowser.cpp: 154: syntax error before '*' token
> starbrowser.cpp: 163: syntax error before '.' token

enfin, plutot dans le .h du même nom, ligne 32:

vector<const Star*>* listStars(unsigned int);

Allez, je me lance et j'écris ce que je fais, ca peut servir (sévir?)...

ok si je comprends bien c'est une fonction qui retourne un pointeur sur
un vecteur de pointeurs sur des étoiles. Mais où est l'erreur (l'horreur ;-) ???

ah ouais, je vois:

starbrowser.cpp:96: 'vector' undeclared (first use in his function).

Je me dis: ok, il manque un header... non, il est là: #include <vector>
A tout hasard je change en <vector.h> (compatibility mode ;-) étant
donné que gcc 3.2 introduit pas mal de changements...

Ben ça change le message d'erreur, ca plante plus à cet endroit là...
Maintenant c'est starbrowser.cpp ligne 102 qui foire.  On y trouve:

typedef multiset<const Star*, Pred> StarSet;

qui me donne:

starbrowser.cpp:102: ISO C++ fordbids declaration of 'multiset' with no type 
starbrowser.cpp:102: template-id 'multiset<const Star*, Pred>' used as a declarator
starbrowser.cpp:102: parse error before ';' token

fait ch... celui-là ;-).  Bon, on va voir, Multiset, qui est le plus
fort de nous deux... Hmm, info gcc, blabla, google multiset, Multiset is a Sorted
Associative Container that stores objects of type Key, blabla, ouais bon me dis-je
sûrement la même couille... vi starbrowser.cpp et je rajoute : 

#include <multiset.h>

un petit "make" et voilàààà, CA MARCHE!!! 

VIVE LE LOGICIEL LIBRE ;-)

allez, en espérant que cette petite séance de debug vous a plu, je vous
souhaite une bonne nuit, les petits.  Et moi je ne suis pas au bout de mes
peines, ca replante à celestiacore.cpp...  faut pas crier victoire trop vite
mon gars, GCC est là pour te donner du fil à retordre... allez, je continue
sur ma lancée et je vous poste un petit patch dès que c'est fait.

Geof

PS: je ne connais pas bien le C++, si qqn a une solution plus élégante,
il est invité à nous en faire part ;-)




Plus d'informations sur la liste de diffusion Linux-bruxelles