Re: Objective-C++
Re: Objective-C++
- Subject: Re: Objective-C++
- From: "Herb Petschauer" <email@hidden>
- Date: Fri, 8 Feb 2008 15:31:43 -0800
Seriously, add the #ifdef __cplusplus from my previous response :-)
On 08/02/2008, Philip Bridson <email@hidden> wrote:
> OK then, I am now none the wiser because that is what I have been
> doing all along.
>
> To be more precise I declare a class as follows:
>
> This is my header file...
>
> MyClass.h
>
> #include <iostream> //Here is where I get the error.
>
> class MyClass
> {
> //Variables etc...
> };
>
> This is my implementation...
>
> MyClass.mm
>
> //Code...
>
> I get the error in the header file. It says it cannot find iostream.
> From what everyone has been saying it sounds like I am doing it
> right so why do I get an error?
>
> Phil.
>
> On 8 Feb 2008, at 23:20, John Stiles wrote:
>
> > No.
> > Headers stay headers.
> > The code files that include the headers need to be .cpps or .mms.
> >
> >
> > Philip Bridson wrote:
> >>
> >> OK thats cool. My #include <iostream> is in a .h file. Just to
> >> clarify do I need to make the .h file a .mm?
> >>
> >> Thanks.
> >>
> >> On 8 Feb 2008, at 23:06, John Stiles wrote:
> >>
> >>> Any file that #includes <iostream>, either directly or indirectly
> >>> via another header, needs to be a .cpp or .mm in order to
> >>> work. .c or .m will not work.
> >>>
> >>>
> >>>
> >>> Philip Bridson wrote:
> >>>> Thanks both to Dave and John,
> >>>>
> >>>> I am using .mm for my implementation files but it is in the .h
> >>>> files i am having problems. Do I need to put the entire class,
> >>>> including deceleration in an .mm file?
> >>>>
> >>>> Thanks guys.
> >>>>
> >>>> Phil
> >>>>
> >>>> On Feb 8, 2008, at 2:51 PM, Philip Bridson wrote:
> >>>>
> >>>>
> >>>>> I am trying to write using Objective-C++. I have read the docs
> >>>>> and understand what I can and can't do with it but I have a
> >>>>> really basic problem. When I put #include <iostream> in my
> >>>>> header files I get an error saying that the file cannot be
> >>>>> found? Why is this?
> >>>>>
> >>>>
> >>>> Most likely because the compiler doesn't think that it's
> >>>> compiling an objective-c++ file, which means that it isn't using
> >>>> the C++ header search paths. What extension are you using for
> >>>> your filename? You have to use .mm to tell the compiler that
> >>>> it's objective-c++.
> >>>>
> >>>>
> >>>>> Also when creating the file, do I create a C++ file or an Obj-C
> >>>>> file or doesn't it matter?
> >>>>>
> >>>>
> >>>> It should be a .mm file.
> >>>>
> >>>>
> >>>>> Finally, I want to do some thing like this
> >>>>>
> >>>>> #ifdef _MAC_OS_X
> >>>>> //do some obj-c code
> >>>>> #endif
> >>>>>
> >>>>> #ifdef _WIN32
> >>>>> //use WIN32 API coding
> >>>>> #endif
> >>>>>
> >>>>
> >>>> #ifdef __OBJC__
> >>>> //objc only stuff
> >>>> #endif
> >>>>
> >>
>
> _______________________________________________
>
> 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
>
_______________________________________________
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