Hab die Funktionen mal in die namespace gepackt.
Und er comp. es
Warum es so ist is mir nicht klar.... o.0
Aber wenn das jetzt in der namepsace drin ist, sind die funktionen doch nicht mehr global oder nicht.
Hab noch auserhalb der namespace noch so Sachen stehen wie:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
|
template class DLL std::allocator<int>;
template class DLL std::allocator< std::basic_string<char, std::char_traits<char>, std::allocator<char> > >;
template class DLL std::vector< std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char> > >;
template class DLL std::allocator< Bla::Obj >;
template class DLL std::vector< Bla::Obj, std::allocator<Bla::Obj> >;
|
Damit der das auch richtig in die DLL einbindet.
Hab es mal auskommentiert und die Funktionen wieder auserhalb der namespace getan , und es kamm wieder der selbe Fehler.
Noch kurze frage:
Beim linken kommt der fehler :
multiple definition of [...]
first defined here
Wenn ich dann die funktionen auf static setze
Krieg ich die Warnung, das die Funktion nicht benutzt wurde in einigen *.cpp (wie krieg ich das weg)