Problème avec C++ 2005

Signaler
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
21 avril 2007
-
Messages postés
14974
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 février 2021
-
Salut, j'ai une problème avec C++ 2005 express edition. J'ai le code suivant :

#include <cstdlib>
#include
#include <string.h>


using namespace std;


int main(int argc, char *argv[])
{
    string lol = "lolllool";


    cout << "ahahahah" << endl;
    system("PAUSE");
    return 0;
}

Ce code marche très bien avec VC++ 6, avec DevC++ mais pas en VC++ 2005... j'ai lerreur suivante :



main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (__imp_??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) referenced in function _main




J'ai essayé de loader les library de VC++ 6 dans VC++ 2005 mais sans grand succès, j'ai juste d'autres erreurs. J'aimerais utiliser VC++ 2005 parce que je suis débutant alors tant qu'à commencer le C++, aussi bien commencer en neuf, mais là ça marche pas trop...

4 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Messages postés
14974
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 février 2021
94
Et si tu change le #include <string.h> en #include <string>, ce ne serait pas mieux?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
21 avril 2007

Salut,
désolé du temps que je prend à répondre. Merci beaucoup pour vos conseils, mais sa na toujours pas marché... Le petit code que j'ai poster dans mon premier message donne maintenant l'erreur suivante :
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library

Que je load <string.h> ou <string> ou les 2, sa ne change rien... Avez-vous une idée de ce qui se passe?
Messages postés
14974
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 février 2021
94
Coucou,
Comme le message te l'indique - je te l'accorde, c'est pas très explicite - le linker a un problème avec la lib par défaut libcmt. Dans les options de ton projet tu as un endroit (je ne sais plus où de mémoire) où tu lui dis d'ignorer les lib que tu lui spécifie.
Ou bien, toujours dans les options de projet, tu ne compile pas avec les bonnes options de runtime (Mtultithread, Single Thread,...)

Pour info, on peut trouver des explications au code d'erreur avec MSDN. Voici la page LNK4098

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage