$ git clone https://github.com/ivanenko/cloud_storage.git
Cloning into 'cloud_storage'...
remote: Enumerating objects: 192, done.
remote: Counting objects: 100% (192/192), done.
remote: Compressing objects: 100% (128/128), done.
remote: Total 192 (delta 142), reused 113 (delta 63), pack-reused 0
Receiving objects: 100% (192/192), 199.00 KiB | 842.00 KiB/s, done.
Resolving deltas: 100% (142/142), done.
$ mkdir cloud_storage/cmake-build-release
$ pushd cloud_storage/
~/forskelligt/cloud_storage ~/forskelligt
$ cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release . -Bcmake-build-release
-- The C compiler identification is GNU 9.1.0
-- The CXX compiler identification is GNU 9.1.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/freddy/forskelligt/cloud_storage/cmake-build-release
$ cmake --build cmake-build-release --target cloud_storage -- -j 2
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[3]: warning: -jN forced in submake: disabling jobserver mode.
Scanning dependencies of target cloud_storage
make[3]: warning: -jN forced in submake: disabling jobserver mode.
[ 11%] Building CXX object CMakeFiles/cloud_storage.dir/library.cpp.o
[ 22%] Building CXX object CMakeFiles/cloud_storage.dir/plugin_utils.cpp.o
[ 33%] Building CXX object CMakeFiles/cloud_storage.dir/service_clients/service_client.cpp.o
[ 44%] Building CXX object CMakeFiles/cloud_storage.dir/dialogs.cpp.o
In file included from /home/freddy/forskelligt/cloud_storage/service_clients/yandex_rest_client.h:25,
from /home/freddy/forskelligt/cloud_storage/service_clients/service_client.cpp:21:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h: In member function ‘virtual const char* service_client_exception::what() const’:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h:50:5: warning: no return statement in function returning non-void [-Wreturn-type]
50 | }
| ^
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h: At global scope:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h:67:19: error: ‘string’ in namespace ‘std::__cxx11’ does not name a type
67 | std::__cxx11::string url_encode(const std::__cxx11::string& s);
| ^~~~~~
In file included from /home/freddy/forskelligt/cloud_storage/plugin_utils.h:25,
from /home/freddy/forskelligt/cloud_storage/plugin_utils.cpp:32:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h: In member function ‘virtual const char* service_client_exception::what() const’:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h:50:5: warning: no return statement in function returning non-void [-Wreturn-type]
50 | }
| ^
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h: At global scope:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h:67:19: error: ‘string’ in namespace ‘std::__cxx11’ does not name a type
67 | std::__cxx11::string url_encode(const std::__cxx11::string& s);
| ^~~~~~
/home/freddy/forskelligt/cloud_storage/plugin_utils.cpp: In function ‘nlohmann::json& get_connection_config(nlohmann::json&, std::string&)’:
/home/freddy/forskelligt/cloud_storage/plugin_utils.cpp:141:12: warning: reference to local variable ‘j_null’ returned [-Wreturn-local-addr]
141 | return j_null;
| ^~~~~~
/home/freddy/forskelligt/cloud_storage/plugin_utils.cpp:140:20: note: declared here
140 | nlohmann::json j_null(nlohmann::json::value_t::null);
| ^~~~~~
In file included from /home/freddy/forskelligt/cloud_storage/service_clients/dummy_client.h:24,
from /home/freddy/forskelligt/cloud_storage/service_clients/service_factory.h:24,
from /home/freddy/forskelligt/cloud_storage/dialogs.cpp:26:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h: In member function ‘virtual const char* service_client_exception::what() const’:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h:50:5: warning: no return statement in function returning non-void [-Wreturn-type]
50 | }
| ^
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h: At global scope:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h:67:19: error: ‘string’ in namespace ‘std::__cxx11’ does not name a type
67 | std::__cxx11::string url_encode(const std::__cxx11::string& s);
| ^~~~~~
In file included from /home/freddy/forskelligt/cloud_storage/plugin_utils.h:25,
from /home/freddy/forskelligt/cloud_storage/library.cpp:30:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h: In member function ‘virtual const char* service_client_exception::what() const’:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h:50:5: warning: no return statement in function returning non-void [-Wreturn-type]
50 | }
| ^
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h: At global scope:
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.h:67:19: error: ‘string’ in namespace ‘std::__cxx11’ does not name a type
67 | std::__cxx11::string url_encode(const std::__cxx11::string& s);
| ^~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp: In function ‘intptr_t DlgProcNew(uintptr_t, char*, intptr_t, intptr_t, intptr_t)’:
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:281:53: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
281 | gExtensionInfoPtr->SendDlgMsg(pDlg, "cmbService", DM_LISTADD, (intptr_t)p.second.c_str(), (intptr_t)p.first.c_str());
| ^~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:283:49: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
283 | gExtensionInfoPtr->SendDlgMsg(pDlg, "saveMethodRadio", DM_LISTSETITEMINDEX, 0, 0);
| ^~~~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:291:71: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
291 | userName = (char*)gExtensionInfoPtr->SendDlgMsg(pDlg, "edtUserName", DM_GETTEXT, 1, 0);
| ^~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:294:68: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
294 | int res = (int)gExtensionInfoPtr->SendDlgMsg(pDlg, "cmbService", DM_LISTGETITEMINDEX, 0, 0);
| ^~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:298:59: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
298 | res = gExtensionInfoPtr->SendDlgMsg(pDlg, "saveMethodRadio", DM_LISTGETITEMINDEX, 0, 0);
| ^~~~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp: In function ‘intptr_t DlgProcProps(uintptr_t, char*, intptr_t, intptr_t, intptr_t)’:
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:340:53: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
340 | gExtensionInfoPtr->SendDlgMsg(pDlg, "getTokenRadio", DM_LISTSETITEMINDEX, 1, 0);
| ^~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:342:53: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
342 | gExtensionInfoPtr->SendDlgMsg(pDlg, "getTokenRadio", DM_LISTSETITEMINDEX, 0, 0);
| ^~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:346:53: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
346 | gExtensionInfoPtr->SendDlgMsg(pDlg, "saveMethodRadio", DM_LISTSETITEMINDEX, 1, 0);
| ^~~~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:349:53: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
349 | gExtensionInfoPtr->SendDlgMsg(pDlg, "saveMethodRadio", DM_LISTSETITEMINDEX, 2, 0);
| ^~~~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:351:53: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
351 | gExtensionInfoPtr->SendDlgMsg(pDlg, "saveMethodRadio", DM_LISTSETITEMINDEX, 0, 0); // dont_save by default
| ^~~~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:354:53: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
354 | gExtensionInfoPtr->SendDlgMsg(pDlg, "edtClientID", DM_SETTEXT, (intptr_t)gpJsonConnection->at("client_id").get<std::string>().c_str(), 0);
| ^~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:358:53: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
358 | gExtensionInfoPtr->SendDlgMsg(pDlg, "edtServerPort", DM_SETTEXT, (intptr_t)port.c_str(), 0);
| ^~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:365:63: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
365 | int res = gExtensionInfoPtr->SendDlgMsg(pDlg, "getTokenRadio", DM_LISTGETITEMINDEX, 0, 0);
| ^~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:368:59: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
368 | res = gExtensionInfoPtr->SendDlgMsg(pDlg, "saveMethodRadio", DM_LISTGETITEMINDEX, 0, 0);
| ^~~~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:382:71: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
382 | clientId = (char*)gExtensionInfoPtr->SendDlgMsg(pDlg, "edtClientID", DM_GETTEXT, 1, 0);
| ^~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/dialogs.cpp:389:73: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
389 | portNumber = (char*)gExtensionInfoPtr->SendDlgMsg(pDlg, "edtServerPort", DM_GETTEXT, 1, 0);
| ^~~~~~~~~~~~~~~
/home/freddy/forskelligt/cloud_storage/service_clients/service_client.cpp:113:15: error: ‘string’ in namespace ‘std::__cxx11’ does not name a type
113 | std::__cxx11::string ServiceClient::url_encode(const std::__cxx11::string& s)
| ^~~~~~
make[3]: *** [CMakeFiles/cloud_storage.dir/build.make:76: CMakeFiles/cloud_storage.dir/plugin_utils.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [CMakeFiles/cloud_storage.dir/build.make:89: CMakeFiles/cloud_storage.dir/dialogs.cpp.o] Error 1
make[3]: *** [CMakeFiles/cloud_storage.dir/build.make:102: CMakeFiles/cloud_storage.dir/service_clients/service_client.cpp.o] Error 1
make[3]: *** [CMakeFiles/cloud_storage.dir/build.make:63: CMakeFiles/cloud_storage.dir/library.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:76: CMakeFiles/cloud_storage.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/cloud_storage.dir/rule] Error 2
make: *** [Makefile:118: cloud_storage] Error 2
What am I missing to compile the code ? I do not really know what I am doing here, I just followed your recipe for compiling.