调用另一个类的 init 会导致链接器错误 (Objective-C)

Calling another class's init causes Linker error (Objective-C)

提问人:PaperEdge 提问时间:1/14/2020 更新时间:1/14/2020 访问量:33

问:

我在另一个名为 MyManager 的类中使用一个名为 AudioFile 的类。尝试使用 AudioFile 中的其他方法不会出现任何错误,并且会构建出来。但是,如果我尝试使用 use AudioFile 的 init,则在尝试构建时会出现链接器错误。 注意:即使我从MyManager中的其他地方调用init,我仍然收到错误

MyManager.mm

@property(nonatomic,retain)AudioFile *audioFile;

-(id)init
{
    if((self = [super init]))
    {

    }
    self.audioFile = [[AudioFile alloc] init];
    return self;
}

音频文件.m

- (id)init
{
    //initializer stuff
    return self;
}

错误如下所示:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_AudioFile", referenced from:
      objc-class-ref in myManager.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Objective-C Xcode 生成 初始化 链接器错误

评论

0赞 john elemans 1/14/2020
您是否正在使用 AudioFile 的预编译版本?
0赞 PaperEdge 1/14/2020
不要这么认为,它只是一个带有 .h 的 .m

答: 暂无答案