-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Halibut 8.0.2
-
None
-
None
Test process:
source rpi-hh8.0.0-sdk
mkdir build && cd build
qmake ..
make all
Attention: RPI 6.99.4 sdk is OK. HH 8.0.0 and 7.99.3 all failed.
log:
In file included from ../../app/qcheapruler.hpp:8, from ../../app/main.cpp:11: ../../include/mapbox/cheap_ruler.hpp: In member function ‘mapbox::cheap_ruler::line_string mapbox::cheap_ruler::CheapRuler::lineSlice(mapbox::cheap_ruler::point, mapbox::cheap_ruler::point, const line_string&)’: ../../include/mapbox/cheap_ruler.hpp:202:79: error: the type ‘const mapbox::cheap_ruler::CheapRuler::lineSlice(mapbox::cheap_ruler::point, mapbox::cheap_ruler::point, const line_string&)::<lambda(auto:3)>’ of ‘constexpr’ variable ‘getPoint’ is not literal constexpr auto getPoint = [](auto tuple) { return std::get<0>(tuple); }; ^ ../../include/mapbox/cheap_ruler.hpp:202:36: note: ‘mapbox::cheap_ruler::CheapRuler::lineSlice(mapbox::cheap_ruler::point, mapbox::cheap_ruler::point, const line_string&)::<lambda(auto:3)>’ is not literal because: constexpr auto getPoint = [](auto tuple) { return std::get<0>(tuple); }; ^ cc1plus: note: ‘mapbox::cheap_ruler::CheapRuler::lineSlice(mapbox::cheap_ruler::point, mapbox::cheap_ruler::point, const line_string&)::<lambda(auto:3)>’ is a closure type, which is only literal in C++17 and later ../../include/mapbox/cheap_ruler.hpp:203:79: error: the type ‘const mapbox::cheap_ruler::CheapRuler::lineSlice(mapbox::cheap_ruler::point, mapbox::cheap_ruler::point, const line_string&)::<lambda(auto:4)>’ of ‘constexpr’ variable ‘getIndex’ is not literal constexpr auto getIndex = [](auto tuple) { return std::get<1>(tuple); }; ^ ../../include/mapbox/cheap_ruler.hpp:203:36: note: ‘mapbox::cheap_ruler::CheapRuler::lineSlice(mapbox::cheap_ruler::point, mapbox::cheap_ruler::point, const line_string&)::<lambda(auto:4)>’ is not literal because: constexpr auto getIndex = [](auto tuple) { return std::get<1>(tuple); }; ^ cc1plus: note: ‘mapbox::cheap_ruler::CheapRuler::lineSlice(mapbox::cheap_ruler::point, mapbox::cheap_ruler::point, const line_string&)::<lambda(auto:4)>’ is a closure type, which is only literal in C++17 and later ../../include/mapbox/cheap_ruler.hpp:204:79: error: the type ‘const mapbox::cheap_ruler::CheapRuler::lineSlice(mapbox::cheap_ruler::point, mapbox::cheap_ruler::point, const line_string&)::<lambda(auto:5)>’ of ‘constexpr’ variable ‘getT’ is not literal constexpr auto getT = [](auto tuple) { return std::get<2>(tuple); }; ^ ../../include/mapbox/cheap_ruler.hpp:204:36: note: ‘mapbox::cheap_ruler::CheapRuler::lineSlice(mapbox::cheap_ruler::point, mapbox::cheap_ruler::point, const line_string&)::<lambda(auto:5)>’ is not literal because: constexpr auto getT = [](auto tuple) { return std::get<2>(tuple); }; ^ cc1plus: note: ‘mapbox::cheap_ruler::CheapRuler::lineSlice(mapbox::cheap_ruler::point, mapbox::cheap_ruler::point, const line_string&)::<lambda(auto:5)>’ is a closure type, which is only literal in C++17 and later ../../app/main.cpp: In lambda function: