Re: [sort of OT] C++ headers and Objective-C++
Re: [sort of OT] C++ headers and Objective-C++
- Subject: Re: [sort of OT] C++ headers and Objective-C++
- From: email@hidden
- Date: Thu, 09 May 2002 12:11:50 -0700
Guy Umbright wrote:
|OK, given this set of files:
|
|== objcfile.h
|
|//objective-c header
|#import <Cocoa/Cocoa.h>
|#include "aclass.h"
|
|@interface MyClass : NSObject
|{
| AClass* pClass;
|}
|:
|:
|@end
|
|
|== objcfile.mm
|
|//objective-c++ file
|#import objcfile.h
|:
|:
|
|== aclass.h
|
|//C++ header
|class TheClass;
|class AnotherClass;
|
|class AClass
|{
|:
|:
|
|when objcfile.mm is compiled each forward class declaration
|generates a "undefined type, found 'class'" error.
|
|Is this not valid? As it appears that it is not recognizing
|the aclass.h file as a C++ header, is there a way to convice the
|compiler that it is?
I took what you posted, did the necessary cleanup (delete colons, add closing braces, add quotes to the "#import objectfile.h" statement), and compiled the result. I got no error messages at all. I'm using PB 2, but gcc 2.95. My code (copied directly from what compiled successfully):
----------------------------------
// objcfile.mm
#import "objcfile.h"
----------------------------------
// objcfile.h
#import <Cocoa/Cocoa.h>
#include "aclass.h"
@interface MyClass : NSObject
{
AClass* pClass;
}
@end
----------------------------------
// aclass.h
class TheClass;
class AnotherClass;
class AClass
{
};
----------------------------------
Are you *sure* that "objfile.mm" really ends in ".mm", and not ".m"? If I rename "objfile.mm" to "objfile.m", I get exactly the errors you name, plus a host of others.
Alternatively, are you using PB to compile the file? If not, then you may need to tell the compiler that "objfile.mm" is an Objective-C++ file (rather than that "aclass.h" is a C++ header). I don't recall which flag does this, but it does appear in the gcc documentations (which you can find under "Developer Tools").
Glen Fisher
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.