Мне нужно использовать библиотеку в моем проекте C ++, которая должна вызывать функцию extern:
SetGameViewController(UIViewController* gameViewController)
У меня пока нет нулевых знаний о Objective C и iOS. Мне нужно получить UIViewController и передать его этой функции.
Так что этот код должен получить UIViewController:
UIWindow *window = [UIApplication sharedApplication].keyWindow;
UIViewController *rootViewController = window.rootViewController;
Я также добавил этот импорт:
#if defined(OS_IPHONE)
#import <UIKit/UIKit.h>
#endif
Я получаю ошибки компилятора, такие как:
Expected unqualified-id
Unknown type name 'NSString'
Я начал изучать Цель C и прочитал несколько статей, но пока не смог продвинуться дальше.
Поэтому в основном мой вопрос заключается в том, как мне в основном импортировать и использовать код Objective C в коде C ++, чтобы я мог получить и использовать UIViewController?
Самый простой способ — переименовать исходный файл с расширением «.mm» — тогда он будет скомпилирован как target-c ++, что означает, что вы получаете все чудеса c ++, в то же время имея возможность взаимодействовать с объектами Objective-C (подсчитанными указателями). к вещам, «производным» от NSObject).