В настоящее время я портирую приложение C ++ / SDL2 на Mac OS X и хочу добавить элементы и отредактировать собственную строку меню, которая сопровождает приложения Mac OS X (вверху экрана).
Однако мой компилятор жалуется на то, что нигде не распознается класс NSMenuItem в API Какао ...
Мне удалось преобразовать мои main.cpp в main.mm и #import заголовки Cocoa / Cocoa.h, однако, когда я объявляю переменную NSMenuItem (например, переменную LoadROMItem в моем фрагменте ниже), я получаю ошибку компоновщика :
Неопределенные символы для архитектуры x86_64:
"_OBJC_CLASS _ $ _ NSMenuItem", на который ссылаются:
objc-class-ref в main.o
ld: символы не найдены для архитектуры x86_64
clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)
Вот фрагмент кода:
bool RUNNING = true;
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window* _SDLwindow = SDL_CreateWindow("GBemu", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 500, 500, SDL_WINDOW_RESIZABLE);
SDL_Surface* _screen = SDL_GetWindowSurface(_SDLwindow);
SDL_SysWMinfo *NativeWindowInfo = new SDL_SysWMinfo;
SDL_GetWindowWMInfo(_SDLwindow, NativeWindowInfo);
SDL_Event _event;
#ifdef __APPLE__
NSMenuItem* LoadRomItem = [[NSMenuItem alloc]initWithTitle:@"Load ROM" action:NULL keyEquivalent:@"s"];
[NativeWindowInfo->info.cocoa.window.menu addItem:LoadRomItem];
#endif
Может ли это быть из-за того, что я забыл импортировать? Или это может быть настройка компилятора и / или компоновщика, которую я забыл установить?
Я использую XCode в качестве своей IDE.