Bonjour,
j'ai une classe qui permet de récupérer et traiter les informations d'un fichier de type configuration (*.ini par exemple).
Je voudrais exporter cette classe sous forme de DLL.
Pour info, c'est sous Visual studio c++ 2008.
Les données de cette class sont en fait une map et je patauge lamentablement pour le template (instantier) cette map (c'est, si j'ai bien compris, une étape obligatoire si les données sont des objets de la STL).
Vous remarquerez que si le key_type est une std::string, value_type est par contre un chameleon, autre class du projet (en fait qui est capable de renvoyer soit une chaine littérale, soit un nombre suivant ce qui a été lu dans le fichier config).
Pour être clair, si les données de la class avait été
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 /// Config.h #include <map> #include "Chameleon.h" #pragma warning (disable : 4231) #ifdef DLL_EXPORT #define DllImportExport __declspec( dllexport ) #define EXPIMP_TEMPLATE #else #define DllImportExport __declspec( dllimport ) #define EXPIMP_TEMPLATE extern #endif EXPIMP_TEMPLATE template class DllImportExport --------; class DllImportExport ConfigFile { std::map<std::string,Chameleon> contenu; public: ConfigFile(std::string const& configFile); Chameleon const& Valeur(std::string const& section, std::string const& clef) const; Chameleon const& Valeur(std::string const& section, std::string const& clef, double valeur); Chameleon const& Valeur(std::string const& section, std::string const& clef, std::string const& valeur); };
std::vector<int> VectorOfInts;
alors cette ligne aurait été
EXPIMP_TEMPLATE template class DllImportExport std::vector<int>;
Merci pour votre aide.
Partager