firebase / quickstart-cpp

Firebase Quickstart Samples for C++
https://firebase.google.com/games
Apache License 2.0
206 stars 122 forks source link

Building test app fails on Windows MSVC 16 2019 #116

Closed AlexOpanasevych closed 10 months ago

AlexOpanasevych commented 11 months ago

The issue happens every time I build project using Cmake

When I try to build test application using prebuilt binaries from here, there happen some weird compiler errors, listed here: firebase_app.lib(d94e1bff3c0e8414a6679ea91c3e103e_firebase_app.dir_Debug_cleanup_notifier.obj) : error LNK2019: unresol ved external symbol __std_find_trivial_8 referenced in function "void * * __cdecl __std_find_trivial<void *,unsigned __ int64>(void * *,void * *,unsigned __int64)" (??$__std_find_trivial@PEAX_K@@YAPEAPEAXPEAPEAX0_K@Z) [C:\Users\Sasha\Docum ents\projects2021\github-garbage-folder\firebase-test-app\desktop_testapp.vcxproj] firebase_app.lib(d3d7d08a438878e74aeb2cbaaedfc967_flatbuffers.dir_Debug_idl_parser.obj) : error LNK2001: unresolved ext ernal symbol __std_find_trivial_8 [C:\Users\Sasha\Documents\projects2021\github-garbage-folder\firebase-test-app\deskto p_testapp.vcxproj] firebase_app.lib(d94e1bff3c0e8414a6679ea91c3e103e_firebase_app.dir_Debug_locale.obj) : error LNK2019: unresolved extern al symbol u_errorName referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::all ocator<char> > __cdecl firebase::internal::GetTimezone(void)" (?GetTimezone@internal@firebase@@YA?AV?$basic_string@DU?$ char_traits@D@std@@V?$allocator@D@2@@std@@XZ) [C:\Users\Sasha\Documents\projects2021\github-garbage-folder\firebase-tes t-app\desktop_testapp.vcxproj] firebase_app.lib(d94e1bff3c0e8414a6679ea91c3e103e_firebase_app.dir_Debug_locale.obj) : error LNK2019: unresolved extern al symbol ucal_getTimeZoneIDForWindowsID referenced in function "class std::basic_string<char,struct std::char_traits<c har>,class std::allocator<char> > __cdecl firebase::internal::GetTimezone(void)" (?GetTimezone@internal@firebase@@YA?AV ?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) [C:\Users\Sasha\Documents\projects2021\github-garbage- folder\firebase-test-app\desktop_testapp.vcxproj] firebase_app.lib(d94e1bff3c0e8414a6679ea91c3e103e_firebase_app.dir_Debug_heartbeat_storage_desktop.obj) : error LNK2019 : unresolved external symbol __std_find_trivial_1 referenced in function "char const * __cdecl __std_find_trivial<char const ,unsigned char>(char const *,char const *,unsigned char)" (??$__std_find_trivial@$$CBDE@@YAPEBDPEBD0E@Z) [C:\User s\Sasha\Documents\projects2021\github-garbage-folder\firebase-test-app\desktop_testapp.vcxproj] C:\Users\Sasha\Documents\projects2021\github-garbage-folder\firebase-test-app\Debug\desktop_testapp.exe : fatal error L NK1120: 4 unresolved externals [C:\Users\Sasha\Documents\projects2021\github-garbage-folder\firebase-test-app\desktop_t estapp.vcxproj]

Steps to reproduce:

cmake . cmake --build .

google-oss-bot commented 11 months ago

This issue does not seem to follow the issue template. Make sure you provide all the required information.

AlexOpanasevych commented 11 months ago

Also I forgot to mention that I'm using MSVC 16 2019 compiler

AlmostMatt commented 11 months ago

The unresolved symbols appear to be normal c++ classes and not firebase-specific.

unresolved external symbol __std_find_trivial_8 ...
unresolved external symbol u_errorName referenced in function "class std::basic_string ...
unresolved external symbol ucal_getTimeZoneIDForWindowsID referenced in function "class std::basic_string ...
unresolved external symbol__std_find_trivial_1 ...

I am not entirely sure what would cause those failures but I suspect it is some incompatibility with the C++ settings the firebase binary was built with and the C++ compiler settings that you are using. Can you try updating your MSVC compiler and see if that has any impact on the error messages that you see? Also ensure that you are targeting C++ 14 or newer.

google-oss-bot commented 10 months ago

Hey @AlexOpanasevych. We need more information to resolve this issue but there hasn't been an update in 7 weekdays. I'm marking the issue as stale and if there are no new updates in the next 3 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot commented 10 months ago

Since there haven't been any recent updates here, I am going to close this issue.

@AlexOpanasevych if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.