Martin
Martin

Reputation: 12215

Failing to import c-file in objective-c

I'm currently trying to compile my project just after adding some C code.

I'm using the Paul Kocher's blowfish algorithm implementation available on Bruce Schneier's website.

Since I included blowfish.c & blowfish.h in my workspace, my compiler is running crazy. Like if it did not recognize Objective-c code, pointing errors on NSObject class!

I tried to .mm the calling class but the problem stays.

Each answer found on SO talks about including C++ file, but it's not my pb...

Maybe a compiler directive that i'v missed ?

Upvotes: 0

Views: 146

Answers (2)

Martin
Martin

Reputation: 12215

Thanks to microtherion, I found the problem.

My .pch file was declared as :

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif 

#import "AppDelegate.h"
#import "UINavigationController+Rotation.h"
#import "Categories.h"

The 3 last #import'ed files are objective-C.
I've just changed the #endif place to:

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>   

    #import "AppDelegate.h"
    #import "UINavigationController+Rotation.h"
    #import "Categories.h"
#endif    

Upvotes: 1

microtherion
microtherion

Reputation: 4048

Most likely, what is happening is that the compilation of blowfish.c is using your previously established precompiled header (.pch) file, and that is including an Objective-C framework. Just disable the precompiled header and you should be OK. You might be able to conditionalize those frameworks, but personally, I find precompiled headers more trouble than they’re worth.

Upvotes: 1

Related Questions