[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::c_plus_plus

Title:C++
Notice:Read 1.* and use keywords (e.g. SHOW KEY/FULL KIT_CXX_VAX_VMS)
Moderator:DECCXX::AMARTIN
Created:Fri Nov 06 1987
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3604
Total number of notes:18242

3459.0. "non-inlined virtual member functions not defined" by BLAZER::MIKELIS (Software Partner's Eng. MR01-3/F26) Fri Feb 21 1997 13:52

I've got a customer who is experiencing the following errors while
linking a c++ 5.1 app. Is he missing some libs? /james


    Brief Description of Problem:
    -----------------------------

We're trying to link in code which using template-based classes
and it doesn't seem to be working.  The linker spits out a
lot of errors (see below).  We've had similar problems before
using HPCC (the HP c++ compiler) and we're able to solve them
by playing with the "ptrepository/defmap" file and some
command-line switches on the compiler.  Now, CXX seems to
create a "cxxrepository", but there is nothing in it.
Do you have any suggestions?

Thanks,
Bill Gulstad

Discout #3416447
Customer #90547 (Altair Computing)

(Enclosure)
Unresolved:
__vtbl_28RWTPtrOrderedVector__T5Curve  Make sure that the first
noninlined virtual member function of 'RWTPtrOrderedVector<Curve>' is defined.  
__vtbl_27RWTPtrSortedVector__T5Curve  Make sure that the first
noninlined virtual member function of 'RWTPtrSortedVector<Curve>' is defined.  
RWTIsvSlist<RWTPtrSlink<RWCString> >::clearAndDestroy(void)
RWTPtrSlist<RWCString>::insert(RWCString*)
RWTPtrOrderedVector<Curve>::clearAndDestroy(void)
RWTPtrSortedVector<Curve>::insert(Curve*)
RWTPtrHashDictionary<RWCString,
FileBranch>::RWTPtrHashDictionary<RWCString, FileBranch>(unsigned int
(*)(const RWCString&), unsigned long)
RWTPtrHashDictionary<RWCString,
FileBranch>::~RWTPtrHashDictionary<RWCString, FileBranch>(void)
RWTPtrHashDictionary<RWCString, FileBranch>::operator [](RWCString*)
RWTPtrHashDictionary<RWCString, FileBranch>::contains(const RWCString*)
const 
RWTPtrHashDictionary<RWCString, FileBranch>::remove(const RWCString*)
RWTIsvSlist<RWTPtrSlink<Branch> >::clearAndDestroy(void)
RWTPtrSlist<Branch>::append(Branch*)
RWTPtrSlist<RWCString>::append(RWCString*)
RWTPtrSlist<RWCString>::clearAndDestroy(void)
getcwd(char*, unsigned long)
__vtbl_29RWTPtrOrderedVector__T6NSComp  Make sure that the first
noninlined virtual member function of 'RWTPtrOrderedVector<NSComp>' is
defined.  
__vtbl_28RWTPtrSortedVector__T6NSComp  Make sure that the first
noninlined virtual member function of 'RWTPtrSortedVector<NSComp>' is
defined.  
__vtbl_29RWTPtrOrderedVector__T6NSNode  Make sure that the first
noninlined virtual member function of 'RWTPtrOrderedVector<NSNode>' is
defined.  
__vtbl_28RWTPtrSortedVector__T6NSNode  Make sure that the first
noninlined virtual member function of 'RWTPtrSortedVector<NSNode>' is
defined.  
RWTPtrSortedVector<NSComp>::insert(NSComp*)
RWTIsvSlist<RWTPtrSlink<NSType> >::clearAndDestroy(void)
RWTPtrSlist<NSType>::insert(NSType*)
RWTPtrSortedVector<NSNode>::insert(NSNode*)
RWTPtrHashDictionary<RWCString, unsigned
long>::RWTPtrHashDictionary<RWCString, unsigned long>(unsigned int
(*)(const RWCString&), unsigned long)
RWTPtrHashDictionary<RWCString, unsigned
long>::~RWTPtrHashDictionary<RWCString, unsigned long>(void)
RWTPtrHashDictionary<RWCString, unsigned long>::operator [](RWCString*)
RWTPtrHashDictionary<RWCString, unsigned long>::clearAndDestroy(void)
RWTPtrHashDictionary<RWCString, unsigned long>::findValue(const
RWCString*) const 


This is what he's from a SETLD.  I suspect he is missing something.

CXXBASE530                      DEC C++ (cxx) for Digital UNIX
CXXBASE540                      DEC C++ (cxx) for Digital UNIX
CXXBASEA510     installed       DEC C++ (cxx) for Digital UNIX
CXXLIB530                       DEC C++ static class libraries
CXXLIB540                       DEC C++ static class libraries
CXXLIBA510      installed       DEC C++ static class libraries
CXXMAN530                       DEC C++ and class library manual pages
CXXMAN540                       DEC C++ and class library manual pages
CXXMANA510      installed       DEC C++ manual pages: cxx, demangler and library routines
CXXOLDA510      installed       DEC C++ old packages: oldc89 and ild
CXXSHRDA306     installed       DEC C++ Class Library, Run-Time Support
CXXSHRDA307                     DEC C++ Class Library, Run-Time Support
CXXV3HDR530                     DEC C++ header files for Digital UNIX V3.x
CXXV3HDR540                     DEC C++ header files for Digital UNIX V3.x
T.RTitleUserPersonal
Name
DateLines
3459.1DECCXX::MITCHELLFri Feb 21 1997 18:024
Looks like they are confused about which compiler to use
and which version supports what.

We'll work this off-line
3459.2undefined symbolsDECC::J_WARDFri Feb 21 1997 18:057
They're coming from the Rogue Wave Tools.h++ library
(notice the RW symbol in front). Are they undefined
symbols in librwtools.a or are they undefined in their
own object files (you can do an nm to see where they're coming
from)? Version 5.3 now has automatic instantiation, were
they using manual instantiation (-define_templates) before?