Hi Joaquín, ÉricI appreciate your response, Before that I got some workaround from the web and the snippet I have written to port it to my existing project worked until I face real problem. My observation is like when I have Ordered_index with std::string, the code I have written compiles really well and works also. But when I remove this ordered_index, the code does not compile.Here is the code that compiles: <<Multi_index_container_working.txt>>Here is the code that does not compile: <<Multi_index_container_not_working.txt>>If you see the difference I have only two lines commented.
Yes, I'm able to reproduce the problem you report under MSVC 6.0.
Two
remarks:
* The problem does not show with the CVS version of Boost.MultiIndex (to
be shipped in Boost 1.34), as it includes a number of optimizations
alleviating
the choking of MSVC 6.0 with very long symbol names, which is
the core
reason for this weird behavior.
* Until you switch to Boost
1.34 (and even when you do), you can try avoiding
the use of tags and using
numeric identifiers instead. Tags add some stress to
such a weak compiler as
MSVC 6.0. The attached file is a variation of your
Multi_index_container_not_working.txt file where tags have been suppressed
and numerical identifiers used instead. I have checked it out to compile
and work OK under MSVC 6.0.
I hope this helps, please keep me informed otherwise,
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo