_OBJC_CLASS _ $ _ RscMgr链接器错误

时间:2013-07-22 15:48:53

标签: iphone ios objective-c xcode linker-errors

请原谅任何小错误,这是我的第一个问题...... 反馈仍然很受欢迎。

我一直在尝试使用Redpark线缆,以便在iPhone和Arduino(Mini Arduino Pro)之间进行通信。该项目未能按照我的编码进行构建。 我已经找了好几天寻找解决方案,但对别人有用的东西对我来说并没有用 这是我的错误:

  

架构armv7的未定义符号:
    “_OBJC_CLASS _ $ _ RscMgr”,引自:         ViewController.o中的objc-class-ref   ld:未找到架构armv7的符号
  clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

但是,我发现这行代码一直是问题因素。 (如果删除,项目构建将成功,但不起作用。)

  

ViewController.m内部 - (void)viewDidLoad

     

rscMgr = [[RscMgr alloc] init];

框架(“Link Binary with Libraries”):ExternalAccessory,UIKit,MediaPlayer,CoreGraphics,Foundation。

  

ViewController.h(删除了不必要的东西)
     #import <UIKit/UIKit.h> #import "RscMgr.h"
@interface ViewController : UIViewController <RscMgrDelegate> {
RscMgr *rscMgr;
}
@property (nonatomic, retain) RscMgr *rscMgr;
@end


  

ViewController.m(删除了不必要的东西)
      #import "ViewController.h"
#import "RscMgr.h"
@implementation ViewController
@synthesize rscMgr;
- (void)viewDidLoad
{
[super viewDidLoad];
rscMgr = [[RscMgr alloc] init];
[rscMgr setDelegate:self];
}
-(void) cableConnected:(NSString *)protocol{
[rscMgr setBaud:9600];
[rscMgr open];
}
@end


RscMgr.h的链接 和redparkSerial.h

redparkSerial.h和RscMgr.h都没有.m文件

1 个答案:

答案 0 :(得分:1)

这是链接器错误。您正在引用库头文件,因此编译器可以将单个文件编译为目标文件,但是当链接器将它们一起连接到应用程序时,它会发现库本身不存在。您需要将库本身添加到项目中。标题只描述了它的接口,它们不包括库本身。

要在最新版本的Xcode中执行此操作,通常只需将静态库(以.a结尾的文件)拖到项目中即可。但您应该检查此库的文档并遵循其建议的安装过程。