какао каркас в классе углерода - PullRequest
0 голосов
/ 05 января 2012

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

/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126:0 /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:126: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token


/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127:0 /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:127: error: expected ')' before '*' token


/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129:0 /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:129: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token

EDIT:

когда я меняю расширение моего исходного кода с .c на .mm, как предложено Michael Dautermann , я получаю 5 ошибок:

/Users/path/SampleCMPlugIn.mm:826:0 /Users/path/SampleCMPlugIn.mm:826: error: invalid conversion from 'const void*' to 'const __CFUUID*'


/Users/path/SampleCMPlugIn.mm:1228:0 /Users/path/SampleCMPlugIn.mm:1228: error: jump to label 'SampleSubMenu_Create_Complete_fail'


/Users/path/SampleCMPlugIn.mm:1140:0 /Users/path/SampleCMPlugIn.mm:1140: error:   from here


/Users/path/SampleCMPlugIn.mm:1143:0 /Users/path/SampleCMPlugIn.mm:1143: error:   crosses initialization of 'int disableMainMenu'


/Users/path/SampleCMPlugIn.mm:1142:0 /Users/path/SampleCMPlugIn.mm:1142: error:   crosses initialization of 'int count'

Может кто-нибудь помочь мне?

1 Ответ

2 голосов
/ 05 января 2012

Конечно. Обратите внимание на желтое поле, которое появляется при открытии устаревшей страницы SampleCMPlugin , которую вы упомянули:

Важно: информация в этом документе устарела и не должна использоваться для новой разработки . Ссылки на скачивание и другие ресурсы возможно, больше не действителен.

Carbon устарел, и что более важно, код, который вы пишете, скорее всего, будет несовместим с 64-битными ОС (в этом случае он не будет загружен Finder).

Хорошей альтернативой было бы использование Сервисных меню .

Я также только что прогуглил это объявление для продукта под названием Abracode Shortcuts , который кажется бесплатным.

...