discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Addresses -> header import mess


From: Lars Sonchocky-Helldorf
Subject: Re: Addresses -> header import mess
Date: Tue, 3 Apr 2012 21:35:14 +0200

Am 03.04.2012 um 15:04 schrieb Riccardo Mottola:

> Hi,
> 
> I have a strange problem I'm unabel to solve in the addresses framework (of 
> Addresses as in GAP).
> 
> ON most systems, it compiles fine and works. However on some, like my mingw 
> with gcc3 and on Sebastian's OpenBSD, compilation will fail with:
> 
> Making all for framework Addresses...
> Compiling file ADAddressBook.m ...
> In file included from ADEnvelopeAddressBook.h:8,
>                 from ADAddressBook.m:11:
> ./derived_src/Addresses/ADAddressBook.h:20: warning: duplicate interface 
> declara
> tion for class `ADAddressBook'
> ./derived_src/Addresses/ADAddressBook.h:20: error: redefinition of `struct 
> ADAdd
> ressBook'
> ./derived_src/Addresses/ADAddressBook.h:40: warning: duplicate interface 
> declara
> tion for category `ADAddressBook(GroupAccess)'
> ./derived_src/Addresses/ADAddressBook.h:51: warning: duplicate interface 
> declara
> tion for category `ADAddressBook(AddressesExtensions)'
> In file included from ADPerson.h:9,
>                 from ADAddressBook.m:13:
> ./derived_src/Addresses/ADRecord.h:14: warning: duplicate interface 
> declaration
> for class `ADRecord'
> ./derived_src/Addresses/ADRecord.h:19: error: redefinition of `struct 
> ADRecord'
> ./derived_src/Addresses/ADRecord.h:50: warning: duplicate interface 
> declaration
> for category `ADRecord(Convenience)'
> ./derived_src/Addresses/ADRecord.h:56: warning: duplicate interface 
> declaration
> for category `ADRecord(AddressesExtensions)'
> In file included from ADGroup.h:9,
>                 from ADAddressBook.m:14:
> ./derived_src/Addresses/ADPerson.h:24: warning: duplicate interface 
> declaration
> for class `ADPerson'
> ./derived_src/Addresses/ADPerson.h:24: error: redefinition of `struct 
> ADPerson'
> ./derived_src/Addresses/ADPerson.h:49: warning: duplicate interface 
> declaration
> for category `ADPerson(AddressesExtensions)'
> make[4]: *** [obj/Addresses.obj/ADAddressBook.m.o] Error 1
> make[3]: *** [internal-framework-run-compile-submake] Error 2
> make[2]: *** [Addresses.all.framework.variables] Error 2
> make[1]: *** [internal-all] Error 2
> make: *** [internal-all] Error 2
> 
> why? Shouldn't import protect from double inclusion? I did quite some clean 
> up in the imports, but it did not help.

IIRC the import directive was a long time marked as "deprecated" for gcc 
because it was somewhat broken until someone with enough brain in his head came 
along and fixed it. IIRC again this was before 3.something and searching the 
web for "gcc #import directive deprecated" lead me here: 

http://www.gnu.org/software/gcc/gcc-3.4/changes.html

So #import was not working correctly up to GCC 3.4

> 
> Riccardo

HTH,

        Lars


reply via email to

[Prev in Thread] Current Thread [Next in Thread]