daniel-j-h / libosrmc

Pure C bindings for libosrm
MIT License
18 stars 8 forks source link

Can not build with OSRM v5.9.2 #12

Closed srimaln91 closed 4 years ago

srimaln91 commented 4 years ago

I am unable to build this with osrm v5.9.2. Below is the log.

g++ -O2 -Wall -Wextra -pedantic -std=c++11 -fvisibility=hidden -fPIC -fno-rtti -std=c++1y -DBOOST_SPIRIT_USE_PHOENIX_V3 -DBOOST_RESULT_OF_USE_DECLTYPE -DBOOST_FILESYSTEM_NO_DEPRECATED -I/opt/osrm-backend/mason_packages/headers/boost/1.63.0/include -I/opt/osrm-backend/mason_packages/linux-x86_64/expat/2.2.0/include -I/opt/osrm-backend/mason_packages/linux-x86_64/lua/5.2.4/include -I/opt/osrm-backend/mason_packages/linux-x86_64/bzip2/1.0.6/include -I/opt/osrm-backend/mason_packages/linux-x86_64/tbb/2017_20161128/include -I/usr/local/include -I/usr/local/include/osrm     -c -o osrmc.o osrmc.cc
In file included from /usr/local/include/osrm/route_parameters.hpp:31:0,
                 from osrmc.cc:11:
/usr/local/include/osrm/engine/api/route_parameters.hpp: In function ‘bool osrm::engine::api::operator&(osrm::engine::api::RouteParameters::AnnotationsType, osrm::engine::api::RouteParameters::AnnotationsType)’:
/usr/local/include/osrm/engine/api/route_parameters.hpp:153:21: error: expected type-specifier
         static_cast<std::underlying_type_t<RouteParameters::AnnotationsType>>(lhs) &
                     ^
/usr/local/include/osrm/engine/api/route_parameters.hpp:153:21: error: expected ‘>’
/usr/local/include/osrm/engine/api/route_parameters.hpp:153:21: error: expected ‘(’
/usr/local/include/osrm/engine/api/route_parameters.hpp:153:21: error: ‘underlying_type_t’ is not a member of ‘std’
/usr/local/include/osrm/engine/api/route_parameters.hpp:153:76: error: expected primary-expression before ‘>>’ token
         static_cast<std::underlying_type_t<RouteParameters::AnnotationsType>>(lhs) &
                                                                            ^
/usr/local/include/osrm/engine/api/route_parameters.hpp:154:21: error: expected type-specifier
         static_cast<std::underlying_type_t<RouteParameters::AnnotationsType>>(rhs));
                     ^
/usr/local/include/osrm/engine/api/route_parameters.hpp:154:21: error: expected ‘>’
/usr/local/include/osrm/engine/api/route_parameters.hpp:154:21: error: expected ‘(’
/usr/local/include/osrm/engine/api/route_parameters.hpp:154:21: error: ‘underlying_type_t’ is not a member of ‘std’
/usr/local/include/osrm/engine/api/route_parameters.hpp:154:76: error: expected primary-expression before ‘>>’ token
         static_cast<std::underlying_type_t<RouteParameters::AnnotationsType>>(rhs));
                                                                            ^
/usr/local/include/osrm/engine/api/route_parameters.hpp:154:84: error: expected ‘)’ before ‘;’ token
         static_cast<std::underlying_type_t<RouteParameters::AnnotationsType>>(rhs));
                                                                                    ^
/usr/local/include/osrm/engine/api/route_parameters.hpp:154:84: error: expected ‘)’ before ‘;’ token
/usr/local/include/osrm/engine/api/route_parameters.hpp: In function ‘osrm::engine::api::RouteParameters::AnnotationsType osrm::engine::api::operator|(osrm::engine::api::RouteParameters::AnnotationsType, osrm::engine::api::RouteParameters::AnnotationsType)’:
/usr/local/include/osrm/engine/api/route_parameters.hpp:161:21: error: expected type-specifier
         static_cast<std::underlying_type_t<RouteParameters::AnnotationsType>>(lhs) |
                     ^
/usr/local/include/osrm/engine/api/route_parameters.hpp:161:21: error: expected ‘>’
/usr/local/include/osrm/engine/api/route_parameters.hpp:161:21: error: expected ‘(’
/usr/local/include/osrm/engine/api/route_parameters.hpp:161:21: error: ‘underlying_type_t’ is not a member of ‘std’
/usr/local/include/osrm/engine/api/route_parameters.hpp:161:76: error: expected primary-expression before ‘>>’ token
         static_cast<std::underlying_type_t<RouteParameters::AnnotationsType>>(lhs) |
                                                                            ^
/usr/local/include/osrm/engine/api/route_parameters.hpp:162:21: error: expected type-specifier
         static_cast<std::underlying_type_t<RouteParameters::AnnotationsType>>(rhs));
                     ^
/usr/local/include/osrm/engine/api/route_parameters.hpp:162:21: error: expected ‘>’
/usr/local/include/osrm/engine/api/route_parameters.hpp:162:21: error: expected ‘(’
/usr/local/include/osrm/engine/api/route_parameters.hpp:162:21: error: ‘underlying_type_t’ is not a member of ‘std’
/usr/local/include/osrm/engine/api/route_parameters.hpp:162:76: error: expected primary-expression before ‘>>’ token
         static_cast<std::underlying_type_t<RouteParameters::AnnotationsType>>(rhs));
                                                                            ^
/usr/local/include/osrm/engine/api/route_parameters.hpp:162:84: error: expected ‘)’ before ‘;’ token
         static_cast<std::underlying_type_t<RouteParameters::AnnotationsType>>(rhs));
                                                                                    ^
/usr/local/include/osrm/engine/api/route_parameters.hpp:162:84: error: expected ‘)’ before ‘;’ token
osrmc.cc: In function ‘osrmc_table_annotations* osrmc_table_annotations_construct(osrmc_error**)’:
osrmc.cc:261:19: error: expected type-specifier
   auto* out = new osrm::TableParameters::AnnotationsType{osrm::TableParameters::AnnotationsType::Duration};
                   ^
osrmc.cc: In function ‘void osrmc_table_annotations_destruct(osrmc_table_annotations_t)’:
osrmc.cc:269:27: error: expected type-specifier
   delete reinterpret_cast<osrm::TableParameters::AnnotationsType*>(annotations);
                           ^
osrmc.cc:269:27: error: expected ‘>’
osrmc.cc:269:27: error: expected ‘(’
osrmc.cc:269:27: error: ‘AnnotationsType’ is not a member of ‘osrm::engine::api::TableParameters’
osrmc.cc:269:66: error: expected primary-expression before ‘>’ token
   delete reinterpret_cast<osrm::TableParameters::AnnotationsType*>(annotations);
                                                                  ^
osrmc.cc:269:80: error: expected ‘)’ before ‘;’ token
   delete reinterpret_cast<osrm::TableParameters::AnnotationsType*>(annotations);
                                                                                ^
osrmc.cc: In function ‘void osrmc_table_annotations_enable_distance(osrmc_table_annotations_t, bool, osrmc_error**)’:
osrmc.cc:273:27: error: expected type-specifier
   using AnnotationsType = osrm::TableParameters::AnnotationsType;
                           ^
osrmc.cc:274:46: error: expected type-specifier before ‘AnnotationsType’
   auto* annotations_typed = reinterpret_cast<AnnotationsType*>(annotations);
                                              ^
osrmc.cc:274:46: error: expected ‘>’ before ‘AnnotationsType’
osrmc.cc:274:46: error: expected ‘(’ before ‘AnnotationsType’
osrmc.cc:274:46: error: ‘AnnotationsType’ was not declared in this scope
osrmc.cc:274:62: error: expected primary-expression before ‘>’ token
   auto* annotations_typed = reinterpret_cast<AnnotationsType*>(annotations);
                                                              ^
osrmc.cc:274:76: error: expected ‘)’ before ‘;’ token
   auto* annotations_typed = reinterpret_cast<AnnotationsType*>(annotations);
                                                                            ^
osrmc.cc:277:27: error: ‘AnnotationsType’ is not a class, namespace, or enumeration
     *annotations_typed |= AnnotationsType::Distance;
                           ^
osrmc.cc:279:38: error: expected type-specifier before ‘AnnotationsType’
     *annotations_typed = static_cast<AnnotationsType>(static_cast<int>(*annotations_typed) ^ static_cast<int>(AnnotationsType::Distance));
                                      ^
osrmc.cc:279:38: error: expected ‘>’ before ‘AnnotationsType’
osrmc.cc:279:38: error: expected ‘(’ before ‘AnnotationsType’
osrmc.cc:279:111: error: ‘AnnotationsType’ is not a class, namespace, or enumeration
     *annotations_typed = static_cast<AnnotationsType>(static_cast<int>(*annotations_typed) ^ static_cast<int>(AnnotationsType::Distance));
                                                                                                               ^
osrmc.cc:279:138: error: expected ‘)’ before ‘;’ token
     *annotations_typed = static_cast<AnnotationsType>(static_cast<int>(*annotations_typed) ^ static_cast<int>(AnnotationsType::Distance));
                                                                                                                                          ^
osrmc.cc: In function ‘void osrmc_table_params_set_annotations(osrmc_table_params_t, osrmc_table_annotations_t, osrmc_error**)’:
osrmc.cc:313:46: error: expected type-specifier
   auto* annotations_typed = reinterpret_cast<osrm::TableParameters::AnnotationsType*>(annotations);
                                              ^
osrmc.cc:313:46: error: expected ‘>’
osrmc.cc:313:46: error: expected ‘(’
osrmc.cc:313:46: error: ‘AnnotationsType’ is not a member of ‘osrm::engine::api::TableParameters’
osrmc.cc:313:85: error: expected primary-expression before ‘>’ token
   auto* annotations_typed = reinterpret_cast<osrm::TableParameters::AnnotationsType*>(annotations);
                                                                                     ^
osrmc.cc:313:99: error: expected ‘)’ before ‘;’ token
   auto* annotations_typed = reinterpret_cast<osrm::TableParameters::AnnotationsType*>(annotations);
                                                                                                   ^
osrmc.cc:314:17: error: ‘struct osrm::engine::api::TableParameters’ has no member named ‘annotations’
   params_typed->annotations = *annotations_typed;
                 ^
osrmc.cc: In function ‘float osrmc_table_response_distance(osrmc_table_response_t, long unsigned int, long unsigned int, osrmc_error**)’:
osrmc.cc:386:36: warning: missing initializer for member ‘osrmc_error::message’ [-Wmissing-field-initializers]
   *error = new osrmc_error{e.what()};
                                    ^
osrmc.cc: In function ‘osrmc_table_annotations* osrmc_table_annotations_construct(osrmc_error**)’:
osrmc.cc:266:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make: *** [osrmc.o] Error 1

Thanks.