GNOME Bugzilla – Bug 310301
Build failure in VC7.1 due to multiple 'internal' symbols (namespace/class)
Last modified: 2005-08-01 06:41:46 UTC
Steps to reproduce: The problem is that there's a class also named 'internal' in type_traits.h. Renaming this class solves the problem. Stack trace: Trying to build you will get: ..\sigc++\functors\slot_base.h(29) : error C2757: 'internal' : a symbol with this name already exists and therefore this name cannot be used as a namespace name and similar errors for other sources. The error is in file type_traits.h. In a nutshell: namespace sigc { struct is_base_and_derived { friend struct internal; }; } namespace sigc { namespace internal { } } Comeau online doesn't like the code either. Other information:
Is this a new problem - did this work with previous versions?
I don't know. This is the first version I try.
Could you prepare a patch, please?
Created attachment 49437 [details] [review] Renames class internal Here is the patch. I renamed the offending class. I think the friend declaration is wrong. It actually makes friend a never defined class, in namespace sigc, and the program works without the declaration. I guess it's there _just_ to make Tru64 happy.
*** Bug 312055 has been marked as a duplicate of this bug. ***
Committed. Thanks.