Hi Joachim, Hmmm; this is odd. You write:
> The template class "DOMDeepNodeListPool" is declared in "DOMDeepNodeListPool.hpp" and the definition is in > "DOMDeepNodeListPool.cpp". But all I can find on my CVS copy is DOMDeepNodeListPool.c. Are you sure your local copy hasn't been modified somehow? Cheers, Neil Neil Graham XML Parser Development IBM Toronto Lab Phone: 905-413-3519, T/L 969-3519 E-mail: [EMAIL PROTECTED] |---------+------------------------------> | | "Joachim Deelen" | | | <joachim.deelen.ecs| | | @deelen.de> | | | | | | 06/03/2003 07:46 AM| | | Please respond to | | | xerces-c-dev | | | | |---------+------------------------------> >---------------------------------------------------------------------------------------------------------------------------------------------| | | | To: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> | | cc: | | Subject: Templates in Source-Files | | | | | >---------------------------------------------------------------------------------------------------------------------------------------------| Hi all, I just ported Version 2.2.0 to OS/2, using the VisualAge C++ V4.0 compiler. Since most OS/2 developers are using VisualAge C++ 3.0, OpenWatcom or gcc, I'm currently working on a build environment for VisualAge C++ 3.0 and I'm almost done ;-) But there are some problems with templates used within some source-files and the way VACPP 3.0 handles them. Normally you only include the declaration of the template stored in the .HPP file. Then the compiler generates a corresponding .CPP and tries to include a .C within that generated file, to get the definition of the template. For most of the templates this works just fine but for "newer" files, there is no .C file anymore instead the definition is also stored within a .CPP file. Example: The template class "RefArrayOf" is declared in "RefArrayOf.hpp" and the definition is in "RefArrayOf.c" This one works fine!! The template class "DOMDeepNodeListPool" is declared in "DOMDeepNodeListPool.hpp" and the definition is in "DOMDeepNodeListPool.cpp". This one produces unresolved externals during linking!! The only, very annoying, workaround for this is to copy DOMDeepNodeListPool.cpp to DOMDeepNodeListPool.c and explicitly exclude the CPP-file from the compilation process. Now I have to search every CPP file, to see if it's a template definition and if so, i have to copy and exclude it from the compilation process. Why has this changed? I think this is a Bug, because in each template HPP file, there is a statement at the end that tries to include the corresponding .C file and this will not compile if XERCES_TEMPLSINC is not defined because the .C can not be found. Any help would be appreciated regards Joachim --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]