• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Xcode cocoa project with c++
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

  • Follow-Ups:
    • Re: Xcode cocoa project with c++
      • From: Constantine <email@hidden>
References: 
 >Re: Xcode cocoa project with c++ (From: "Shawn Erickson" <email@hidden>)

  • Prev by Date: Re: crash on custom NSWindow subclass dealloc
  • Next by Date: Programatically Accessing Koteri's Functionality
  • Previous by thread: Re: Xcode cocoa project with c++
  • Next by thread: Re: Xcode cocoa project with c++
  • Index(es):
    • Date
    • Thread