2016-04-04 3 views
0

Я пытался интегрировать HockeyApp в моем cocos2d-х проект, используя следующую ссылку: - http://support.hockeyapp.net/kb/client-integration-android/hockeyapp-for-android-ndk-early-accessCocos2d-х HockeyApp интеграция

Но это дает мне следующую ошибку, когда я попытался запустить команду НКА-сборки

jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:47:7: error: expected nested-name-specifier before 'AndroidLogBufferWriteFunc' 
using AndroidLogBufferWriteFunc = int (*)(int bufID, int prio, const char *tag, 
    ^
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:47:7: error: 'AndroidLogBufferWriteFunc' has not been declared 
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:47:33: error: expected ';' before '=' token 
using AndroidLogBufferWriteFunc = int (*)(int bufID, int prio, const char *tag, 
           ^
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:47:33: error: expected unqualified-id before '=' token 
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:53:1: error: 'AndroidLogBufferWriteFunc' does not name a type 
AndroidLogBufferWriteFunc g_android_log_buf_write = nullptr; 
^ 
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc: In function 'void logger::initializeCrashLogWriter()': 
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:60:3: error: 'g_android_log_buf_write' was not declared in this scope 
    g_android_log_buf_write = reinterpret_cast<AndroidLogBufferWriteFunc>(
^
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:60:46: error: expected type-specifier before 'AndroidLogBufferWriteFunc' 
    g_android_log_buf_write = reinterpret_cast<AndroidLogBufferWriteFunc>(
              ^
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:60:46: error: expected '>' before 'AndroidLogBufferWriteFunc' 
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:60:46: error: expected '(' before 'AndroidLogBufferWriteFunc' 
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:60:46: error: 'AndroidLogBufferWriteFunc' was not declared in this scope 
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:61:54: error: expected ')' before ';' token 
     dlsym(RTLD_DEFAULT, "__android_log_buf_write")); 
                ^
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc: In function 'int logger::writeToCrashLog(const char*)': 
jni/../../breakpad/android/google_breakpad/../../src/client/linux/log/log.cc:68:7: error: 'g_android_log_buf_write' was not declared in this scope 
    if (g_android_log_buf_write) { 
    ^
make: *** [obj/local/armeabi/objs/breakpad_client/src/client/linux/log/log.o] Error 1 
+0

Могли бы вы дайте мне знать, на какой платформе вы назвали НДК-строить? Какой компилятор вы использовали? Я все еще пытаюсь воспроизвести вашу проблему, и я вернусь к вам как можно скорее. Между тем, возможно, вы могли бы попытаться включить поддержку C++ 11 на ndk для компиляции своего приложения, добавив в файл Application.mk «APP_CPPFLAGS + = -std = C++ 11». –

ответ

0

GCC 4.6.3 не поддерживает C++ 11 псевдонимами типа:

в

Breakpad \ SRC \ клиент \ Linux \ журнал \ log.cc

заменить

using AndroidLogBufferWriteFunc = int (*)(int bufID, int prio, const char *tag,const char *text); 

с

typedef int (*AndroidLogBufferWriteFunc)(int bufID, int prio, const char *tag,const char *text); 
Смежные вопросы