2016-02-04 3 views
6

Я попытался создать и запустить свой первый проект для Google Cardboard в Xcode.Как избавиться от ошибки «Неизвестное имя типа» __declspec »в Xcode

Сначала я столкнулся с чем-то, что в основном говорит о том, что моя подпись неверна и попросила меня войти в систему, чтобы компьютер мог ее исправить (что казалось). (Я включаю эту информацию в случае, если она связана с ошибкой в ​​некотором роде.)

Затем я столкнулся с ошибкой Unknown type name '__declspec' и понятия не имею, как ее исправить.

Эта проблема также найдена here, но на нее нет ответов. A Google search дал около 50 результатов, поэтому кажется довольно необычным.

Каким будет мой лучший курс действий?

ответ

2

Unity только что выпустила новую версию 5.3.2 для решения этой проблемы.

+1

Я не могу обновить до 5.3.2, он разбивает UI.Text. См. Мой ответ для исправления, если вы не можете обновить, как я. – Almo

+1

Примечание: 5.3.5 имеет фиксированный UI.Text и проблему рендеринга iOS из 5.2. – Almo

15

У меня есть исправление, если вы не можете обновить версию Unity, которая исправляет это.

Найдите 3 файла в приложении Unity под названием il2cpp-codegen.h. Например, на Mac Unity, они здесь:

/Applications/Unity5.1.4/Unity.app/Contents/PlaybackEngines/WebGLSupport/BuildTools/Libraries/libil2cpp/include/codegen/il2cpp-codegen.h 
/Applications/Unity5.1.4/Unity.app/Contents/PlaybackEngines/iossupport/il2cpp/libil2cpp/include/codegen/il2cpp-codegen.h 
/Applications/Unity5.1.4/Unity.app/Contents/Frameworks/il2cpp/libil2cpp/codegen/il2cpp-codegen.h 

Найти эту строку в те:

NORETURN static void il2cpp_codegen_raise_exception (Il2CppCodeGenException *ex) 

Удалить "NORETURN" от каждого, и сохранять файлы. Теперь он должен работать.

+1

вы спасатель жизни. –

1

У меня была аналогичная проблема в библиотеке, которая встраивает dll C++.

Если вы не хотите, чтобы обновить я верю, что можно заменить:

#define NORETURN __declspec(noreturn) 

по

#define NORETURN __attribute__((noreturn)) 
0

Для каждого файла, который бросает ошибку, следует удалить NORETURN из этих линий только.

Но иногда это не NORETURN вопрос, но можно было бы удалить IL2CPP_NO_INLINE.

Это должно решить проблему.

Смежные вопросы