[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

3578.0. "Typedef map of map STL, ld: unresolved ...?" 3578.0" by KERNEL::PULLEY (Come! while living waters flow) Wed May 21 1997 11:21

Hi,

I've a customer on Digital UNIX v4.0 564, C++ v5.5-004.
They find that if they try to use a map of map, at the link stage they get
a large unresolved symbol.

csh> more some_maps.cxx
#include <string>
#include <map>
typedef map<string,int> mapsi;
typedef map<string,mapsi> mapsmsi;

csh> cxx some_maps.cxx
ld:
Unresolved:
main
rb_tree<basic_string<char, string_char_traits<char>, allocator<char> >,
pair<con
st basic_string<char, string_char_traits<char>, allocator<char> >,
map<basic_str
ing<char, string_char_traits<char>, allocator<char> >, int,
less<basic_string<ch
ar, string_char_traits<char>, allocator<char> > >, allocator<pair<const
basic_st
ring<char, string_char_traits<char>, allocator<char> >, int> > > >,
select1st<pa
ir<const basic_string<char, string_char_traits<char>, allocator<char> >,
map<bas
ic_string<char, string_char_traits<char>, allocator<char> >, int,
less<basic_str
ing<char, string_char_traits<char>, allocator<char> > >, allocator<pair<const
ba
sic_string<char, string_char_traits<char>, allocator<char> >, int> > > >,
basic_
string<char, string_char_traits<char>, allocator<char> > >,
less<basic_string<ch
ar, string_char_traits<char>, allocator<char> > >, >::NIL

Thanks for any suggestions,
Steve.
T.RTitleUserPersonal
Name
DateLines
3578.1this is a known automatic instantiation compiler bug, it will not be fixed until 6.0DECC::J_WARDWed May 21 1997 13:3712
This was added to the V5.6 (field test) release notes,
in Section 1.13.7 Known Problems:

     When creating very complicated instantiations (for example, a map of a map
of string), you may get a link error when using automatic instantiation (the
name of the undefined symbol will be longer than 1022 chars). 

     To workaround this, you can use manual instantiation or local instantiation
(see Section 1.11). 

If I compile your program with -nopt -define_templates, it works.