[gelöst] g++ 4.3.2 - Template Problem

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
schorsch_76
Beiträge: 2612
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

[gelöst] g++ 4.3.2 - Template Problem

Beitrag von schorsch_76 » 17.10.2009 17:32:50

Hallo Leute,

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;

Hier die Instanzierung: DebugInfoCollector.h:75: instantiated from here

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>
{
};

Ich hab auch noch das kleine Projekt auf meinen Server hochgeladen [1].

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 ^^

Antworten