VC++7 et mysql - C++ - Programmation
Marsh Posté le 19-10-2003 à 18:03:16
apparement ce serait un problème avec la stl ... comment on installe la stl sous vc++7 ? (si possible pour l'utiliser sans dll)
Marsh Posté le 19-10-2003 à 18:16:05
MS fournit une implémentation de la STL avec VC7. Y a rien besoin d'installer.
mysql++ n'est peut être pas compatible avec.
Marsh Posté le 19-10-2003 à 18:48:24
verdoux a écrit : MS fournit une implémentation de la STL avec VC7. Y a rien besoin d'installer. |
et la stl de ms est compatible avec l'original?
Marsh Posté le 19-10-2003 à 19:03:59
apparement la stl de ms ne déclare pas reverse_iterator pareil que la stl originale
est-il possible d'utiliser la stl original plutot que celle de ms ? j'essaie avec les include path mais je galere la
Marsh Posté le 20-10-2003 à 10:31:01
j'y arrive pas je peux pas croire que personne ne l'ait encore fait
Marsh Posté le 20-10-2003 à 19:04:02
Quelle erreur exactement ?
Pour installer la STL de ton choix (SGI par ex), met là dans le rep de ton choix, ajoutes ce rep à la liste des rep d'include de VC++ en prenant garde de le mettre en haut de la liste.
Marsh Posté le 20-10-2003 à 19:06:54
en faisant ca, à la compilation il me fait des erreurs sur des struct deja déclarées
Marsh Posté le 20-10-2003 à 19:08:33
BlackGoddess a écrit : en faisant ca, à la compilation il me fait des erreurs sur des struct deja déclarées |
hummm, j'ai deja eu ce pb avec la stl de sgi (enfin, la version que j'avais dl fut un tps), en la virant et en utilisant celle de VC a la place ca allait tout de suite mieux..
m'enfin ca t'aide pas bpc ca
Marsh Posté le 20-10-2003 à 19:10:00
la liste des erreurs :
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(31): error C2011: 'std::bidirectional_iterator_tag' : 'struct' type redefinition
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(26): error C2011: 'std::forward_iterator_tag' : 'struct' type redefinition
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(18): error C2011: 'std::input_iterator_tag' : 'struct' type redefinition
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(22): error C2011: 'std::output_iterator_tag' : 'struct' type redefinition
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(36): error C2011: 'std::random_access_iterator_tag' : 'struct' type redefinition
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(91): error C2504: 'std::iterator<_Category,_Ty,_Diff,_Pointer,_Reference>' : base class undefined
with
[
_Category=std::output_iterator_tag,
_Ty=void,
_Diff=void,
_Pointer=void,
_Reference=void
]
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(66): error C2953: 'std::iterator' : template class has already been defined
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(723): error C2953: 'std::reverse_iterator' : template class has already been defined
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(723): error C2982: 'std::reverse_iterator' : new template parameter list has fewer parameters than the previous declaration
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(739): fatal error C1903: unable to recover from previous error(s); stopping compilation
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\useoldio.h(29): warning C4995: '_OLD_IOSTREAMS_ARE_DEPRECATED': name was marked as #pragma deprecated
Marsh Posté le 20-10-2003 à 19:11:11
Citation : OLD_IOSTREAMS_ARE_DEPRECATED': name was marked as #pragma deprecated |
t'es sur que tu merdouille pas dans ets includes ? (genre mettre un .h alors qu'y en faut pas, facon iostream.h a laplace de iostream )
Marsh Posté le 20-10-2003 à 19:11:56
bin la ca va pas mieux, apparement la stl de ms differe de celle de sgi, et donc mysql++ ne fonctionne pas (il a apparement besoin de celle de sgi)
Marsh Posté le 20-10-2003 à 19:12:26
-> mes includes
#include <iostream>
#include <iomanip>
Marsh Posté le 21-10-2003 à 18:56:46
en ayant bricolé 2-3 trucs (je sais pas ce que ca va donner a l'execution ...) ca compile ... mais j'ai des erreurs au link : apparement mysql++.lib redéfinirait des symboles des libs std de ms MSVCRT et msvcprt, mais si je les enleve certains symboles ne sont plus définis
Marsh Posté le 21-10-2003 à 19:19:06
celle la me perturbe particulierement :
MSVCRT.lib(MSVCR70.dll) : error LNK2005: _memmove already defined in LIBCD.lib(memmove.obj)
je comprends plus rien, c'est 2 libs de ms et elles sont en conflit
Marsh Posté le 21-10-2003 à 19:20:23
crt mon amouuuur
Marsh Posté le 21-10-2003 à 20:47:19
mmh ... pourrais-tu etre plus précis stp ?
Marsh Posté le 21-10-2003 à 20:48:51
certains pensent Jerome Bosh s'est inspiré des CRT pour ses peintures apocalyptique
disons que t'as du bins defini dans MSVCR70.dll qui se tape sur la gueule avec le meme bins defini dans LIBCD.lib
en pratique c'est le bronx absolu
Marsh Posté le 21-10-2003 à 20:53:11
chrisbk a écrit : en pratique c'est le bronx absolu |
me voila pas vraiment aidé
Marsh Posté le 21-10-2003 à 20:54:09
BlackGoddess a écrit : |
pour le coup je peux difficilement t'aider, c'est le genre de truc que je redoute comme la peste
Marsh Posté le 21-10-2003 à 20:54:44
tu link avec quelles libs externe ?
ton projet, c'est de quel type ?
Marsh Posté le 22-10-2003 à 17:20:00
je link mysql++.lib comme lib externe, et mon projet est du type win32 application (sans mdc si atl)
mais j'ai laissé tombé, je suis repassé a vc++6 pour essayer de me faire une lib qui fera l'interface entre vc++7 et mysql++ ... (je suis pas au bout de mes peines ...)
d'ailleurs avec vc++6, c bizarre : en release il compile, link, a peu pres comme il faut(13 warning mais ca a l'air de fonctionner a l'execution) par contre en debug, il compile pas ... (40 erreurs)
Marsh Posté le 22-10-2003 à 17:42:16
Normalement tu t'en sors en définissant libcd dans les libs à ignorer ...
Marsh Posté le 24-10-2003 à 11:31:09
en fin de compte, j'ai trouvé de la doc sur l'api original en C, et je suis donc repasser sous vc++7 pour en faire une petite encapsulation objet.
merci pour votre aide
Marsh Posté le 19-10-2003 à 17:24:38
bonjour, dans mon projet VC++7, je voudrais pouvoir accéder à une base de données mysql, en ayant le moins de dépendances possibles pour faciliter le déploiment. J'essaie donc avec mysql++ (le connecteur c++ - mysql), avec la version prévue pour vc++6, mais à la compilation de l'exemple, j'ai des erreurs... (dont plusieurs liés à std::reverse_iterator) qq1 a déjà fait et peut me décrire la méthode pour adapter ?
---------------
-( BlackGoddess )-