(ref.doc)grahamd 100793

Next ABMT 130793 Prev: olavi 280693 Up: Usenet

From: [email protected] (Graham Dumpleton)
Newsgroups: comp.lang.c++
Subject: Re: Sun C++ 3.0.1 and templates
Date: 10 Jul 1993 07:36:45 GMT
Organization: Technical Development Group, Telstra International
Distribution: world
NNTP-Posting-Host: zeus.research.otc.com.au

In article <[email protected]>, [email protected] (Michael Zeitzew) writes:
...
 > Here is the error message :
 > CC[ptlink] fatal error: type Foo defined twice in map files
 > Compilation failed

This particular error message will occur if you happened to rename the
header file which contained the class Foo, in between compilations,
without removing the repository directory "ptrepository". What happens
is that the C++ compiler simply adds the new definition to the file
"defmap" in the "ptrepository" directory without removing the old
definition. For example, if you originally had the class Foo in the
header file bar.h but then changed it to foo.h after having compiled
something at least once, the defmap file contains

  @tab
  main
  Foo__pt__2_d
  @etab
  @dec Foo @1 @0
  "foo.h"
  @dec Foo @0 @1
  "bar.h"

In other words it is mentioned twice as your message indicates.

The solution is to remove the "ptrepository" directory manually.

-- 
Graham Dumpleton ([email protected])



automatically generated by info2www version 1.2.2.8