0

我尝试使用以下链接将 HockeyApp 集成到我的 cocos2d-x 项目中:- http://support.hockeyapp.net/kb/client-integration-android/hockeyapp-for-android-ndk-early-access

但是当我尝试运行 ndk-build 命令时,它给了我以下错误

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
4

1 回答 1

0

GCC 4.6.3 doesn't support C++11 type aliases:

in

Breakpad\src\client\linux\log\log.cc

replace

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

with

typedef int (*AndroidLogBufferWriteFunc)(int bufID, int prio, const char *tag,const char *text);
于 2016-04-23T05:22:17.373 回答