Ошибка компоновщика после создания целевой категории - PullRequest
0 голосов
/ 21 марта 2019

Я создал категорию для реализации некоторых функций в довольно большом классе, но получил ошибку при компоновке.

// - MTricksController.h -

#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
#import <MTricks/MTricks.h>


@interface MTricksController : NSObject <NSMetadataQueryDelegate,NSWindowDelegate,NSToolbarDelegate> {
    IBOutlet NSWindow *mtricksWindow;

// - MTricksPrefix.h -

#import "MTricksController.h"

@interface MTricksController (MTricksPrefix)
- (void) prefixReset:(NSString *)tPath;
@end

// - MTricksPrefix.m -

#import "MTricksPrefix.h"

@implementation MTricksController (MTricksPrefix)

- (void) prefixReset:(NSString *)tPath
{
    NSAlert *alert;

    alert = [[NSAlert alloc] init];

    [alert beginSheetModalForWindow:mtricksWindow           
 modalDelegate:self                         didEndSelector:@selector(prefixResetAlertDidEnd:returnCode:contextInfo:)
                            contextInfo:[tPath retain]];
 }

, который компилируется нормально, но я получаю следующую ошибку компоновщика:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_MTricksController", referenced from:
      l_OBJC_$_CATEGORY_MTricksController_$_MTricksPrefix in MTricksPrefix.o
  "_OBJC_IVAR_$_MTricksController.mtricksWindow", referenced from:
      -[MTricksController(MTricksPrefix) prefixReset:] in MTricksPrefix.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

как мне получить компоновщик для точной настройки mtricksWindow в MTricksController

...