Я на El Capitan и создал новый проект через Xcode, где я выбрал OS X -> Application -> Game (Language: Objective-C, Game Technology: Metal)
Изначально проект компилируется и запускается без проблем.
Затем я переименовываю главный контроллер представления GameViewController.m
в GameViewController.mm
, чтобы использовать Objective-C++. Когда я строю сейчас, я получаю следующие ошибки компоновщика:
Неопределенные символы для архитектуры x86_64: "_MTKMetalVertexDescriptorFromModelIO", на который ссылается: -[GameViewController _loadAssets] в GameViewController.o "_OBJC_CLASS_$_MDLMesh", на который ссылается: objc-class-ref в GameViewController.o "_OBJC_CLASS_$_MTKMesh", на который ссылается: objc -class-ref в GameViewController.o "_OBJC_CLASS_$_MTKMeshBufferAllocator", ссылка из: objc-class-ref в GameViewController.o ld: символы не найдены для архитектуры x86_64
Я пробовал обернуть заголовки Metal в extern "C" {}
, но это не помогло.
Как я могу заставить его строить?
GameViewController.m
вGameViewController.mm
, я получил:use of '@import' when modules are disabled
. - person Cy-4AH   schedule 14.01.2016