Let gcc handle template instantiation of TPoolFile. http://bugs.gentoo.org/334797 2012-05-22 Martin von Gagern Index: rezound-0.12.3beta/src/PoolFile/TPoolFile.h =================================================================== --- rezound-0.12.3beta.orig/src/PoolFile/TPoolFile.h +++ rezound-0.12.3beta/src/PoolFile/TPoolFile.h @@ -403,10 +403,8 @@ private: }; -/* this would be needed if I were utilizing gcc's implicit instantiation for TPoolFile #define __TPoolFile_H__CPP #include "TPoolFile.cpp" #undef __TPoolFile_H__CPP -*/ #endif Index: rezound-0.12.3beta/src/PoolFile/TPoolFile.cpp =================================================================== --- rezound-0.12.3beta.orig/src/PoolFile/TPoolFile.cpp +++ rezound-0.12.3beta/src/PoolFile/TPoolFile.cpp @@ -20,11 +20,9 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ -/* this would be needed if I were utilizing gcc's implicit instantiation for TPoolFile #ifndef __TPoolFile_H__CPP #error this file must be included through TPoolFile.h NOT compiled on its own #endif -*/ /* ??? * There are places that I have to do: container.erase(container.begin+index); Index: rezound-0.12.3beta/src/backend/CSound.cpp =================================================================== --- rezound-0.12.3beta.orig/src/backend/CSound.cpp +++ rezound-0.12.3beta/src/backend/CSound.cpp @@ -2286,7 +2286,7 @@ void CSound::setUserNotes(const string & // this is the explicit instantiation of the TPoolFile for CSound's purposes -#include +// #include template class TPoolFile; // Some explicit template method instantiations (not sure why some are necessary and some aren't) Index: rezound-0.12.3beta/src/backend/CrezSoundTranslator.cpp =================================================================== --- rezound-0.12.3beta.orig/src/backend/CrezSoundTranslator.cpp +++ rezound-0.12.3beta/src/backend/CrezSoundTranslator.cpp @@ -43,7 +43,7 @@ CrezSoundTranslator::~CrezSoundTranslato // need to include this I use some of the template *methods* for types that are no where else // so the explicit instantation at the bottom of CSound.cpp doesn't instantiate everything -#include +// #include struct RFormatInfo1 {