非Objc文件(c, c++)引起的NSObjCRuntime错误

非Objc文件(c, c++)引起的NSObjCRuntime错误

  今天在objc工程中,导入一些c、c++文件时,,编译引起了NSObjCRuntime错误,,,仔细检查发现,

原来是在SK_Prefix.pch中,定义了

View Code
1 #ifdef __OBJC__
2     #import <Foundation/Foundation.h>
3     #import <UIKit/UIKit.h>
4 #endif
5 
6     #import "Utils.h"
7     #import "Constants.h"
8     #import "SKBackgroundNavigation.h"
9     #import "BusConfig.h"

这样导致了Project里的非Objc文件也引入了这些声明,于是出现了上面的错误。修正的办法就是把相关声明都放到__OBJC__里面

View Code
1 #ifdef __OBJC__
2     #import <Foundation/Foundation.h>
3     #import <UIKit/UIKit.h>
4     #import "Utils.h"
5     #import "Constants.h"
6     #import "SKBackgroundNavigation.h"
7     #import "BusConfig.h"
8 #endif

 

 

 

posted on 2012-08-17 16:33  east520  阅读(1783)  评论(0)    收藏  举报

导航