Re: Xcode cocoa project with c++
Re: Xcode cocoa project with c++
- Subject: Re: Xcode cocoa project with c++
- From: _ _ <email@hidden>
- Date: Wed, 19 Dec 2007 12:03:50 +0000 (GMT)
--- Shawn Erickson <email@hidden> wrote:
> On Dec 14, 2007 4:23 AM, _ _ <email@hidden>
> wrote:
> > Hi
> > i'm writing a project wihich will use mix of
> objective-c and c++.
> > I've created a bundle with added c+ files and i'm
> trying to build that bundle.
> > My c++ files has h/cpp extensions and bundle has
> option to compile files depending on the extension.
> > On compile i got a lot of errors (more than 2000).
> > Seems that xcode is looking through the headers of
> the cocoa foundation framework and find there alot
> of 'errors'.
> > f.e.: In file NSObjCRuntime.h it has found that
> string
> > @class NSString;
> > has error
> > expected unqualified-id before '@' token
> >
> > how i can fix that problem ?
>
> You using a prefix header (pre-compiled header)?
> Likely the prefix
> header isn't wrapping the import of Cocoa related
> frameworks, etc.
> with #ifdef __OBJC__.
>
> When in doubt I suggest you pre-compile one of the
> files that has
> compile problems and look at what is getting
> included.
>
> -Shawn
>
Thank you for reply
I've resolved my problem and want to share the
problem's solution.
The problem was indeed in the pre-compile header.
When one create cocoa project it will have file
<Project_name>_Prefix.pch with guarded section
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif
which will prevent precompilation with compiler other
than objective-c.
My case was a bit different - i've added a bundle,
which has a pre-compile option turned on by default,
but header used for pre-compilation was AppKit.h,
which has no objective-c guard. So, when i added c++
files and tried to compile bundle, c++ compiler went
into the AppKit.h header and started to 'pre-compile'
objective-c code. That leads to more than 4000
'errors' during the compilation.
Posible solutions may be: turn off pre-compilation
(and slow down compilation process) or write your own
header for the pre-compilation with includes of c++
and objective-c headers but with right guards for each
language.
Hope this will save a bit of time to someone.
__________________________________________________________
Sent from Yahoo! Mail - a smarter inbox http://uk.mail.yahoo.com
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden