cocos2dx-cpp-sample icon indicating copy to clipboard operation
cocos2dx-cpp-sample copied to clipboard

Compile error when try to use firebase::database::Database

Open althurzard opened this issue 8 years ago • 9 comments

My project uses firebase auth, database. When i tried to call the entry point for the Firebase Realtime Database C++ SDK, something like that auto database = ::firebase::database::Database::GetInstance(firebase::App::GetInstance());

I should get these errors when compile on android

`[armeabi] Gdbserver : [arm-linux-androideabi-4.9] libs/armeabi/gdbserver [armeabi] Gdbsetup : libs/armeabi/gdb.setup [armeabi] SharedLibrary : libMyGame.so firebase/database/client/cpp/src/android/database_android.cc:131: error: undefined reference to 'firebase::FutureManager::FutureManager()' firebase/database/client/cpp/src/android/database_android.cc:309: error: undefined reference to 'firebase::FutureManager::~FutureManager()' firebase/database/client/cpp/src/android/database_android.cc:309: error: undefined reference to 'firebase::FutureManager::~FutureManager()' firebase/database/client/cpp/src/android/database_reference_android.cc:115: error: undefined reference to 'firebase::FutureManager::ReleaseFutureApi(void*)' firebase/database/client/cpp/src/android/database_reference_android.cc:86: error: undefined reference to 'firebase::FutureManager::AllocFutureApi(void*, int)' firebase/database/client/cpp/src/android/database_reference_android.cc:99: error: undefined reference to 'firebase::FutureManager::MoveFutureApi(void*, void*)' firebase/database/client/cpp/src/android/database_reference_android.cc:105: error: undefined reference to 'firebase::FutureManager::MoveFutureApi(void*, void*)' firebase/database/client/cpp/src/android/database_reference_android.cc:76: error: undefined reference to 'firebase::FutureManager::AllocFutureApi(void*, int)' firebase/database/client/cpp/src/android/database_reference_android.cc:475: error: undefined reference to 'firebase::FutureManager::GetFutureApi(void*)' firebase/database/client/cpp/src/android/disconnection_android.cc:48: error: undefined reference to 'firebase::FutureManager::AllocFutureApi(void*, int)' firebase/database/client/cpp/src/android/disconnection_android.cc:56: error: undefined reference to 'firebase::FutureManager::ReleaseFutureApi(void*)' firebase/database/client/cpp/src/android/disconnection_android.cc:236: error: undefined reference to 'firebase::FutureManager::GetFutureApi(void*)' firebase/database/client/cpp/src/android/query_android.cc:135: error: undefined reference to 'firebase::FutureManager::ReleaseFutureApi(void*)' firebase/database/client/cpp/src/android/query_android.cc:90: error: undefined reference to 'firebase::FutureManager::AllocFutureApi(void*, int)' firebase/database/client/cpp/src/android/query_android.cc:117: error: undefined reference to 'firebase::FutureManager::MoveFutureApi(void*, void*)' firebase/database/client/cpp/src/android/query_android.cc:124: error: undefined reference to 'firebase::FutureManager::MoveFutureApi(void*, void*)' firebase/database/client/cpp/src/android/query_android.cc:640: error: undefined reference to 'firebase::FutureManager::GetFutureApi(void*)' collect2: error: ld returned 1 exit status make: *** [obj/local/armeabi/libMyGame.so] Error 1 Error running command, return code: 2.

If i comment out that line, everything goes right.

althurzard avatar Apr 04 '17 03:04 althurzard

Just found the issue. I had to downgrade target version from 23 to 22 cocos compile -p android --ap android-22 --android-studio.

althurzard avatar Apr 04 '17 03:04 althurzard

what version of firebase sdk do you use?

formatCvt avatar Apr 13 '17 12:04 formatCvt

@formatCvt Lastest version I could build project by using api android 22 or 24, but 23 should get that errors above.

althurzard avatar Apr 13 '17 14:04 althurzard

@althurzard are you still seeing an issue?

stewartmiles avatar Jun 09 '17 21:06 stewartmiles

I get the same error, Somebody found the bug?

Solman28 avatar Jul 10 '17 08:07 Solman28

@stewartmiles i solved it. Just change to api android 22 or 24.

althurzard avatar Jul 11 '17 13:07 althurzard

Yes! I solved it using a Smartphone with android 5.1+

Solman28 avatar Jul 11 '17 14:07 Solman28

I tried changing to android 24 and the problem was not resolved =(

delorenj avatar Jul 19 '17 12:07 delorenj

Ok, finally figured it out. The issue was the order of the linking:

This produced the above error:

LOCAL_STATIC_LIBRARIES := cocos2dx_static \
firebase_app \
firebase_analytics \
firebase_auth \
firebase_database

And this resulted in a successful build:

LOCAL_STATIC_LIBRARIES := cocos2dx_static \
firebase_analytics \
firebase_auth \
firebase_database \
firebase_app

delorenj avatar Jul 20 '17 10:07 delorenj