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()
, Вероятно, это единственная причина, по которой компоновщик не работает; это может не быть рамочной проблемой.