ich hab ein Problem Momentan versuch ich ein paar kleinere Test-Projekte die unter Win liefen nach Linux zu portieren. Das File lies sich Problemlos unter Visualstudio 2008 kompilieren, aber der gcc 4.3.2 mag das ding nicht futtern und ich habe keine Ahnung was er denn nicht versteht.
Also es kommt die Fehlermeldung:
Singleton.h: In instantiation of ‘Singleton::SingletonHolder<DebugInfoCollectorImpl, Singleton::CreateUsingNew, Singleton::SingletonWithLongevity, Singleton::BoostMultiThreaded>’:
DebugInfoCollector.h:75: instantiated from here
Singleton.h:227: error: no type named ‘T’ in ‘class Singleton::SingletonHolder<DebugInfoCollectorImpl, Singleton::CreateUsingNew, Singleton::SingletonWithLongevity, Singleton::BoostMultiThreaded>’
make[2]: *** [gtkmmboostsc-DebugInfoCollector.o] Fehler 1
Code: Alles auswählen
// The SingletonHolder
template < typename T,
template <class> class CreationPolicy = CreateUsingNew,
template <class> class LifetimePolicy = DefaultLifetime,
template <class> class ThreadingPolicy = SingleThreaded>
class SingletonHolder
{
private:
SingletonHolder() {}
->> typedef typename SingletonHolder<T, CreationPolicy, LifetimePolicy,ThreadingPolicy>::T* InstancePtr;
Code: Alles auswählen
// This is the class which is used from the user via
// DebugInfoCollector::Instance().log(...)
class DebugInfoCollector : public Singleton::SingletonHolder< DebugInfoCollectorImpl,
Singleton::CreateUsingNew,
Singleton::SingletonWithLongevity,
Singleton::BoostMultiThreaded>
{
};
Mein System Debian Lenny mit akuellen Updates.
Es wird noch Boost 1.35 benötigt (die aktuellen Libs aus Lenny).
Ich steh grad total auf dem Schlauch warum der g++ da meckert :/
Gruß
schorsch
[1] http://eve.homelinux.org/~eve/gtkmmboostsc-0.1.tar.bz2
EDIT: ARGH .... ich bin ein I.... gewesen. Jetzt isses klar. Manchmal hilfts einfach wenn man es zusammenfasst ^^