views:

451

answers:

1

Hello,

I've got probably what is a simple problem, but there's no informative errors or warnings during compile to alert me to what is going wrong.

I've got a Objective-C++ app that includes a C++ main and ObjC header files.

It builds fine, but when run, it gives this error message:

Dyld Error Message:
  Symbol not found: _OBJC_CLASS_$_AppController
  Referenced from: /Users/slate/Documents/osirixplugins/eqOsirix/build/Development/rcOsirix.app/Contents/MacOS/rcOsirix
  Expected in: flat namespace
 in /Users/slate/Documents/osirixplugins/eqOsirix/build/Development/rcOsirix.app/Contents/MacOS/rcOsirix

No amount of googling has resulted in a solution, and I'm sure I've just missed a compilation or build option somewhere.

"AppController.h" is included in the target (checked), and #import'd in the ObjC Class File.

Any help is greatly appreciated.

ObjC++ constantly gives me a headache.

Thanks,

-S!

+1  A: 

Clearly the AppController class is missing. Is the AppController class defined in a framework of dynamic library? If so, when you run the app, does it know where to find the libraries/frameworks?

This is a linker issue, by the way. The header files are irrelevant. It's the .m or .mm files you need to look at.

JeremyP
Yes, actually, it was a namespace issue in the .m file that included the AppController.h which caused it to not be in the binary at all. GCC threw no errors though, so I had no idea what was wrong.Thanks.
Stephen Furlani