请原谅任何小错误,这是我的第一个问题...... 反馈仍然很受欢迎。
我一直在尝试使用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
redparkSerial.h和RscMgr.h都没有.m文件
答案 0 :(得分:1)
这是链接器错误。您正在引用库头文件,因此编译器可以将单个文件编译为目标文件,但是当链接器将它们一起连接到应用程序时,它会发现库本身不存在。您需要将库本身添加到项目中。标题只描述了它的接口,它们不包括库本身。
要在最新版本的Xcode中执行此操作,通常只需将静态库(以.a
结尾的文件)拖到项目中即可。但您应该检查此库的文档并遵循其建议的安装过程。