So I was trying to use C++ Firebase API to store data from my C++ application to google cloud (firebase). That is my whole purpose.
I have written the necessary code for it based on my understanding from this website: https://firebase.google.com/docs/database/cpp/start and this website: https://firebase.google.com/docs/cpp/setup
These websites give you some sort of how can you add firebase API to my C++ application. The header files or Firebase SDK are from the second website.
So I am using iMac and Visual Studio and I tried to run my code but I got these errors:
././include/firebase/./database/database_reference.h:107:25: warning: 'override' keyword is a C++11 extension [-Wc++11-extensions]
  bool is_valid() const override;
                        ^
1 warning generated.
Undefined symbols for architecture x86_64:
  "firebase::App::Create(firebase::AppOptions const&)", referenced from:
      _main in test-1dd10f.o
  "firebase::Variant::Clear(firebase::Variant::Type)", referenced from:
      firebase::Variant::set_int64_value(long long) in test-1dd10f.o
      firebase::Variant::~Variant() in test-1dd10f.o
  "firebase::database::DatabaseReference::SetValue(firebase::Variant)", referenced from:
      _main in test-1dd10f.o
  "firebase::database::DatabaseReference::~DatabaseReference()", referenced from:
      _main in test-1dd10f.o
  "firebase::database::Database::GetInstance(firebase::App*, firebase::InitResult*)", referenced from:
      _main in test-1dd10f.o
  "firebase::database::DatabaseReference::Child(char const*) const", referenced from:
      _main in test-1dd10f.o
  "firebase::database::Database::GetReference(char const*) const", referenced from:
      _main in test-1dd10f.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Incidentally, I had to change some paths of some header files because somehow, when I compile the file, I get an error of "file not found". I mean I believe I am not suppose to change the original path from firebase header files or SDK to what ever I want (maybe I am wrong).
For example,  if I have my myapp.cpp file in the same directory as the firebase folder which has all the headers files, I can just add the header file app.h like this #include "firebase/app.h". But some of these header files include other header files which as the following "#include firebase/internal/common.h" and that caused a file not found error for me. So, I had to change these header files path to something like that "#include "../internal/common.h". I don't think this is an issue as well. 
I don't have much knowledge of C++. But I think this is an environment issue and I don't know what to do.
I did not follow the steps about Pod (in the website) because I don't know if that is necessary or I don't understand the instructions clearly. 
#include <iostream>
#include "./include/firebase/app.h"
#include "./include/firebase/database.h"
using namespace std;
using namespace firebase;
using namespace database;
int main () {
    ::firebase::AppOptions appOptions =  ::firebase::AppOptions();
    appOptions.set_api_key("AIzaSyDocIMJCv9ZfPq8ozvkeSc5PlC-X5gW5_k");
    appOptions.set_app_id("smarttrafficmonitoring.firebaseapp.com");
    appOptions.set_database_url("https://smarttrafficmonitoring.firebaseio.com");
    appOptions.set_project_id("smarttrafficmonitoring");
    appOptions.set_storage_bucket("smarttrafficmonitoring.appspot.com");
    appOptions.set_messaging_sender_id("220108272524");
    ::firebase::App* app;
    app = ::firebase::App::Create(appOptions);
    ::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app); 
    firebase::database::DatabaseReference dbref = database->GetReference("intersections");
    dbref.Child("intersection").Child("NSLane").Child("mid").SetValue(11);
    cout << "It worked";
    return 0;
}
 
     
    