Bonjour, j'ai un problème de link:
Linking...
edition.obj : error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in ....
Cela arrive parce que j'utilise une map<string, string> (quand je commente la ligne), plus d'erreur
Code : C++
#ifndef _EDITION_H
#define _EDITION_H
#include <map>
#include <fstream>
#include <string>
#include "singleton.h"
usingnamespace std;
typedef map<string, string> ms; //ligne qui commenté ne procoque plus d'erreur
class Edition : public Singleton<Edition>
{
friend Singleton<Edition>;
public:
string getPropriete(string id);
void Load(constchar *edition);
private:
Edition();
string nom; //nom, ex:edition européenne
int symbole; //symbole monetaire, ex:€
double conversion; //conversion par rapport aux valeurs par default
ms cases;
};
#endif //_EDITION_H
Sur d'autre forums, j'ai trouvé des réponse demandant de changer de
Multi-threaded DLL (/MD) vers Multi-threaded DEBUG DLL (/MDd) en
enlevant ou pas msvcrt.lib
mais rien n'y fait
Sinon si ça peut aider, c'est un projet win32 avec visual 8 sdl, opengl et la stl.
Je poste ici l'erreur complete vu que c'est assez indigeste :
Code : C++
edition.obj : error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public:
bool __thiscall std::_Tree<class std::_Tmap_traits<class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char>
>,struct std::less<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >
>,class std::allocator<struct std::pair<class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const ,class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > > >,0>
>::const_iterator::operator==(class std::_Tree<class
std::_Tmap_traits<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char>
>,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char>
>,struct std::less<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >
>,class std::allocator<struct std::pair<class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const ,class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > > >,0> >::const_iterator
const &)const "(??8const_iterator@?$_Tree@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@QBE_NABV012@@Z)
D:\visual_projects\Monopoly\Debug\Monopoly.exe : fatal error LNK1120: 1 unresolved externals
Au cas ou la classe singleton mais ça n'a je pense pas de rapport:
Code : C++/*
Classe permetant d'instancier des singletons
*/#pragma once#include <stdio.h>template <typename T>
class Singleton
{public:
/*return une reference sur le singleton, si aucune n'existe
l'initialise*/
static T* Instance
()
{
if(m_instance ==
NULL) m_instance =
new T;
return m_instance;
};
//detruit l'instance du singleton (utiliser à la fin)
staticvoid DestroyInstance
()
{
delete m_instance;
m_instance =
NULL;
};
protected:
//constructeur
Singleton
()
{
};
//Destructeur
virtual ~Singleton
()
{
};
private:
//Constructeur par recopie
Singleton
(const Singleton& source
)
{
};
static T* m_instance;
//l'instance du singleton};
//initialisation du membre statiquetemplate <typename T> T* Singleton<T>::
m_instance =
NULL;