Я пытаюсь скомпилировать проект C++ в среде MacOSX. Я никогда не касался системы Apple раньше, поэтому я все еще очень смущен настройками среды XCode и всеми, но я вроде как управляю.Ошибка компиляции в Foundation framework и XCode8.0
Что меня беспокоит то, что я получаю ошибки компиляции из в рамках Фонда:
NSObject.h:10:1: error: expected unqualified-id
@class NSInfocation, NSMethodSignature, etc
^
Это смотрит на меня как заголовок NSObject компилируется как обычный заголовок C++ (и «File Inspector «view на самом деле говорит мне, что NSObject.h
« По умолчанию заголовок «C». Я подозреваю, что именно поэтому отображается ошибка компиляции, но я не знаю, как это исправить. Не следует ли XCode сам понимать, что заголовки Foundation должен быть скомпилирован как файлы Objective-C?
Система MacOSX El C apitan 10.11.6 с XCode 8.0 (8A218a), с компиляцией с MacOSX10.12 sdk.
Любая помощь?
[EDIT] в качестве минимального рабочего примера:
создать пустой, проект по умолчанию в XCode с типом "Библиотека", структура STL (C++), цель MacOSX. Я пытаюсь скомпилировать его, все идет хорошо. Я добавляю ссылку на Foundation.framework на этапах сборки, и все еще хорошо. Я создаю .pch, в котором я #import <Framework/Framework.h>
и указываю его как заголовок префикса в настройках сборки. Когда я пытаюсь скомпилировать снова, сборка завершается с ошибками выше.
http://stackoverflow.com/help/mcve – xaxxon
Это чистый проект на C++ или смешанный? –
Я бы сказал, что чистый проект: единственными файлами Obj-C++ являются привязки к ОС (например, 'NSString' или' NSFileHandle'). Тот же проект также построен на средах Windows и Unix с соответствующими различиями. – phagio