xcode не может найти инфраструктуру carboncore в coreservice

Я новичок в программировании Mac. Я пытаюсь использовать функцию Gestalt, поэтому я импортировал CoreService/CoreService.h. но мой xcode 4.2 под снежным барсом не может найти каркас CarbonCore, который включен в каркас CoreService. мой код такой:

#import "AppDelegate.h"
#import <CoreServices/CoreServices.h>

@implementation AppDelegate

@synthesize window = _window;

- (void)dealloc
{
    [super dealloc];
}

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    SInt32 majorver, minorver, bugfixver;
    Getstalt(gestaltSystemVersionMajor, &majorver);
    Getstalt(gestaltSystemVersionMinor, &minorver);
    Getstalt(gestaltSystemVersionBugFix, &bugfixver);
}

@end

но здание терпит неудачу с предупреждением:

Implicit declaration of function 'Getstalt' is invalid in C99

и ошибка:

Undefined symbols for architecture x86_64:
  "_Getstalt", referenced from:
      -[AppDelegate applicationDidFinishLaunching:] in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Когда я вошел в CoreService.h в xcode, я обнаружил, что xcode может найти все дочерние структуры CoreService, кроме CarbonCore и CoreFoundation. Я иду, чтобы проверить файловые системы и обнаружил, что все эти файлы заголовков есть в /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers, так что я совершенно не знаю, почему CarbonCore не может быть обнаружен с помощью xcode и почему другие фреймворки в порядке.

Что я должен сделать, чтобы каркас CarbonCore работал?

1 ответ

Пишется Gestalt() но вы набрали Getstalt(), Вероятно, это единственная причина, по которой компоновщик не работает; это может не быть рамочной проблемой.

Другие вопросы по тегам