templates in einer Lib...?
-
moinsen,
Ich hoffe ich bin damit im richtigen forum:
ich habe eine template klasse geschrieben, diese enthätl ein protected member des template types, einen ctor, dtor und copy ctor. diese kompiliere ich zu einer lib. diese bonde ich in ein weiteres projekt ein, und instanziiere ein objekt dieser klasse mit zB "int" als "template parameter". ich bekomme zwei fehler, "nicht aufgelöstes externes symbol", und zwar zum ctor und dtor. natürlich habe ich die beiden implementiert, deshalb frage ich mich jetzt, ist es möglich templates in einer Lib zu nutzen? ich habe nämlich etwas in der richtung gelesen, dass das nicht geht... und wenn es doch geht, wie?
danke schonmal im VorAus.
-
Falls es eine generische Template-Klasse ist - das heißt, das Template soll mit beliebigem Typ funktionieren, würde ich die Idee ganz schnell vergessen. Wenn aber die Klasse nur auf einige Typen beschränkt ist, dann könnte man das Template explizit Instanziieren:
#if //... #define EXPORT_ __declspec(dllexport) #else #define EXPORT_ __declspec(dllimport) #endif template class EXPORT_ MyTemplate<int>; template class EXPORT_ MyTemplate<double>; //usw.
-
nee, sie soll schon mit allen typen funktionieren... und das geht wirklich nicht? wie macht das denn die STL zB?
-
Babbo schrieb:
wie macht das denn die STL zB?
gar nicht.