2015-12-10 4 views
3

Я строй Cocos2d-х игр для Android на Mac, используя Android NDK, и я получаю много предупреждений, как это при компиляции ++ части C:неизвестного атрибута `extern_c` предупреждение в C++

/usr/include/module.map:1662:22: warning: unknown attribute 'extern_c' [-Wignored-attributes] 

Это опасно? Как я могу это исправить?

+0

Похоже на http://stackoverflow.com/a/29702983/5333147 –

+0

Мы не видим никакого кода. Трудно сказать, как это исправить. :-) – Palec

+0

Возможно, отсутствует определение макроса '' extern_c' (http://stackoverflow.com/a/9499107/2157640) или что-то в этом роде. – Palec

ответ

2

Я предполагаю, что extern_c - это директива компилятора для карты модуля, говорящая, что она ссылается на функции из C++, которые были написаны на языке C (другая структура кадра вызова).

Часть LLVM компилятора CLANG, вероятно, имеет несоответствие версии. http://clang.llvm.org/docs/Modules.html#module-maps

Попробуйте командной строки $ лязг -v

Вы, возможно, придется проверить компилятор версии библиотеки инструменты xcode-> Настройки-> locations-> командной строки.

В конечном итоге вы захотите очистить это, чтобы ваши фреймы стека соответствовали аргументам и не ссылались на функцию языка C.