CesiumGS / cdb-to-3dtiles

Convert CDB to 3D Tiles
Apache License 2.0
75 stars 28 forks source link

Compilation Error #70

Open tomkartj opened 1 year ago

tomkartj commented 1 year ago

Errors after running:

cmake --build Build --config Release -j 4

In file included from /mnt/c/Users/Documents/cesium/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:5,
                 from /mnt/c/Users/Documents/cesium/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:3,
                 from /mnt/c/Users/Documents/cesium/cdb-to-3dtiles/CDBTo3DTiles/src/TileFormatIO.h:3,
                 from /mnt/c/Users/Documents/cesium/cdb-to-3dtiles/CDBTo3DTiles/src/TileFormatIO.cpp:1:
/mnt/c/Users/Documents/cesium/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:30:17: error: ‘optional’ in namespace ‘std’ does not name a template type
   30 |     static std::optional<int> parseLatFromFilename(const std::string &filename);

Multiple errors follow after that first error. Help Me!

lilleyse commented 1 year ago

@tomkartj what compiler are you using and what version?

TaukSnarkyAgrud commented 5 months ago

gcc (Ubuntu 13.2.0-4ubuntu3) 13.2.0

I am getting a similar error: [ 98%] Building CXX object CDBTo3DTiles/CMakeFiles/CDBTo3DTiles.dir/src/CDBImagery.cpp.o In file included from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:5, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:3, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/TileFormatIO.h:3, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/TileFormatIO.cpp:1: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:30:17: error: ‘optional’ in namespace ‘std’ does not name a template type 30 | static std::optional<int> parseLatFromFilename(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:5:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 4 | #include <filesystem> +++ |+#include <optional> 5 | #include <string> /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:32:17: error: ‘optional’ in namespace ‘std’ does not name a template type 32 | static std::optional<int> parseLongFromFilename(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:32:12: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 32 | static std::optional<int> parseLongFromFilename(const std::string &filename); | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:49:17: error: ‘optional’ in namespace ‘std’ does not name a template type 49 | static std::optional<CDBTile> createParentTile(const CDBTile &tile); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:6:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 5 | #include "CDBGeoCell.h" +++ |+#include <optional> 6 | /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:61:17: error: ‘optional’ in namespace ‘std’ does not name a template type 61 | static std::optional<CDBTile> createFromFile(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:61:12: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 61 | static std::optional<CDBTile> createFromFile(const std::string &filename); | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:88:10: error: ‘optional’ in namespace ‘std’ does not name a template type 88 | std::optional<std::filesystem::path> m_customContentURI; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:88:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 88 | std::optional<std::filesystem::path> m_customContentURI; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:89:10: error: ‘optional’ in namespace ‘std’ does not name a template type 89 | std::optional<Core::BoundingRegion> m_region; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:89:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 89 | std::optional<Core::BoundingRegion> m_region; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:91:10: error: ‘optional’ in namespace ‘std’ does not name a template type 91 | std::optional<CDBGeoCell> m_geoCell; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:91:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 91 | std::optional<CDBGeoCell> m_geoCell; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h: In member function ‘const Core::BoundingRegion& CDBTo3DTiles::CDBTile::getBoundRegion() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:23:82: error: ‘m_region’ was not declared in this scope 23 | inline const Core::BoundingRegion &getBoundRegion() const noexcept { return *m_region; } | ^~~~~~~~ In file included from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:5, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:3, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeometryVectors.h:3, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeometryVectors.cpp:1: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:30:17: error: ‘optional’ in namespace ‘std’ does not name a template type 30 | static std::optional<int> parseLatFromFilename(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:5:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 4 | #include <filesystem> +++ |+#include <optional> 5 | #include <string> /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:32:17: error: ‘optional’ in namespace ‘std’ does not name a template type 32 | static std::optional<int> parseLongFromFilename(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:32:12: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 32 | static std::optional<int> parseLongFromFilename(const std::string &filename); | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:49:17: error: ‘optional’ in namespace ‘std’ does not name a template type 49 | static std::optional<CDBTile> createParentTile(const CDBTile &tile); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:6:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 5 | #include "CDBGeoCell.h" +++ |+#include <optional> 6 | /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:61:17: error: ‘optional’ in namespace ‘std’ does not name a template type 61 | static std::optional<CDBTile> createFromFile(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:61:12: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 61 | static std::optional<CDBTile> createFromFile(const std::string &filename); | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h: In member function ‘const CDBTo3DTiles::CDBGeoCell& CDBTo3DTiles::CDBTile::getGeoCell() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:25:68: error: ‘m_geoCell’ was not declared in this scope 25 | inline const CDBGeoCell &getGeoCell() const noexcept { return *m_geoCell; } | ^~~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:88:10: error: ‘optional’ in namespace ‘std’ does not name a template type 88 | std::optional<std::filesystem::path> m_customContentURI; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:88:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 88 | std::optional<std::filesystem::path> m_customContentURI; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:89:10: error: ‘optional’ in namespace ‘std’ does not name a template type 89 | std::optional<Core::BoundingRegion> m_region; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:89:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 89 | std::optional<Core::BoundingRegion> m_region; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:91:10: error: ‘optional’ in namespace ‘std’ does not name a template type 91 | std::optional<CDBGeoCell> m_geoCell; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:91:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 91 | std::optional<CDBGeoCell> m_geoCell; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h: In member function ‘const Core::BoundingRegion& CDBTo3DTiles::CDBTile::getBoundRegion() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:23:82: error: ‘m_region’ was not declared in this scope 23 | inline const Core::BoundingRegion &getBoundRegion() const noexcept { return *m_region; } | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h: In member function ‘const CDBTo3DTiles::CDBGeoCell& CDBTo3DTiles::CDBTile::getGeoCell() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:25:68: error: ‘m_geoCell’ was not declared in this scope 25 | inline const CDBGeoCell &getGeoCell() const noexcept { return *m_geoCell; } | ^~~~~~~~~ In file included from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:5, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTileset.h:3, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBImagery.h:3, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBImagery.cpp:1: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:30:17: error: ‘optional’ in namespace ‘std’ does not name a template type 30 | static std::optional<int> parseLatFromFilename(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:5:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 4 | #include <filesystem> +++ |+#include <optional> 5 | #include <string> /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:32:17: error: ‘optional’ in namespace ‘std’ does not name a template type 32 | static std::optional<int> parseLongFromFilename(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:32:12: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 32 | static std::optional<int> parseLongFromFilename(const std::string &filename); | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:49:17: error: ‘optional’ in namespace ‘std’ does not name a template type 49 | static std::optional<CDBTile> createParentTile(const CDBTile &tile); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:6:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 5 | #include "CDBGeoCell.h" +++ |+#include <optional> 6 | /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:61:17: error: ‘optional’ in namespace ‘std’ does not name a template type 61 | static std::optional<CDBTile> createFromFile(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:61:12: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 61 | static std::optional<CDBTile> createFromFile(const std::string &filename); | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:88:10: error: ‘optional’ in namespace ‘std’ does not name a template type 88 | std::optional<std::filesystem::path> m_customContentURI; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:88:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 88 | std::optional<std::filesystem::path> m_customContentURI; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:89:10: error: ‘optional’ in namespace ‘std’ does not name a template type 89 | std::optional<Core::BoundingRegion> m_region; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:89:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 89 | std::optional<Core::BoundingRegion> m_region; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:91:10: error: ‘optional’ in namespace ‘std’ does not name a template type 91 | std::optional<CDBGeoCell> m_geoCell; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:91:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 91 | std::optional<CDBGeoCell> m_geoCell; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h: In member function ‘const Core::BoundingRegion& CDBTo3DTiles::CDBTile::getBoundRegion() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:23:82: error: ‘m_region’ was not declared in this scope 23 | inline const Core::BoundingRegion &getBoundRegion() const noexcept { return *m_region; } | ^~~~~~~~ In file included from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:5, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBElevation.h:3, from /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBElevation.cpp:1: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:30:17: error: ‘optional’ in namespace ‘std’ does not name a template type 30 | static std::optional<int> parseLatFromFilename(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:5:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 4 | #include <filesystem> +++ |+#include <optional> 5 | #include <string> /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:32:17: error: ‘optional’ in namespace ‘std’ does not name a template type 32 | static std::optional<int> parseLongFromFilename(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeoCell.h:32:12: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 32 | static std::optional<int> parseLongFromFilename(const std::string &filename); | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h: In member function ‘const CDBTo3DTiles::CDBGeoCell& CDBTo3DTiles::CDBTile::getGeoCell() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:25:68: error: ‘m_geoCell’ was not declared in this scope 25 | inline const CDBGeoCell &getGeoCell() const noexcept { return *m_geoCell; } | ^~~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:49:17: error: ‘optional’ in namespace ‘std’ does not name a template type 49 | static std::optional<CDBTile> createParentTile(const CDBTile &tile); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:6:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 5 | #include "CDBGeoCell.h" +++ |+#include <optional> 6 | /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:61:17: error: ‘optional’ in namespace ‘std’ does not name a template type 61 | static std::optional<CDBTile> createFromFile(const std::string &filename); | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:61:12: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 61 | static std::optional<CDBTile> createFromFile(const std::string &filename); | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:88:10: error: ‘optional’ in namespace ‘std’ does not name a template type 88 | std::optional<std::filesystem::path> m_customContentURI; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:88:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 88 | std::optional<std::filesystem::path> m_customContentURI; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:89:10: error: ‘optional’ in namespace ‘std’ does not name a template type 89 | std::optional<Core::BoundingRegion> m_region; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:89:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 89 | std::optional<Core::BoundingRegion> m_region; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:91:10: error: ‘optional’ in namespace ‘std’ does not name a template type 91 | std::optional<CDBGeoCell> m_geoCell; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:91:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 91 | std::optional<CDBGeoCell> m_geoCell; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h: In member function ‘const Core::BoundingRegion& CDBTo3DTiles::CDBTile::getBoundRegion() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:23:82: error: ‘m_region’ was not declared in this scope 23 | inline const Core::BoundingRegion &getBoundRegion() const noexcept { return *m_region; } | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h: In member function ‘const CDBTo3DTiles::CDBGeoCell& CDBTo3DTiles::CDBTile::getGeoCell() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBTile.h:25:68: error: ‘m_geoCell’ was not declared in this scope 25 | inline const CDBGeoCell &getGeoCell() const noexcept { return *m_geoCell; } | ^~~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBImagery.h: At global scope: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBImagery.h:20:10: error: ‘optional’ in namespace ‘std’ does not name a template type 20 | std::optional<CDBTile> _tile; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBImagery.h:5:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 4 | #include "gdal_priv.h" +++ |+#include <optional> 5 | /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBImagery.h: In member function ‘const CDBTo3DTiles::CDBTile& CDBTo3DTiles::CDBImagery::getTile() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBImagery.h:16:62: error: ‘_tile’ was not declared in this scope 16 | inline const CDBTile &getTile() const noexcept { return *_tile; } | ^~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBImagery.cpp: In constructor ‘CDBTo3DTiles::CDBImagery::CDBImagery(GDALDatasetUniquePtr, const CDBTo3DTiles::CDBTile&)’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBImagery.cpp:7:7: error: class ‘CDBTo3DTiles::CDBImagery’ does not have any field named ‘_tile’ 7 | , _tile{tile} | ^~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h: At global scope: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:105:10: error: ‘optional’ in namespace ‘std’ does not name a template type 105 | std::optional<CDBTile> m_tile; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:7:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 6 | #include <glm/glm.hpp> +++ |+#include <optional> 7 | /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h: At global scope: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:105:10: error: ‘optional’ in namespace ‘std’ does not name a template type 105 | std::optional<CDBTile> m_tile; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:7:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 6 | #include <glm/glm.hpp> +++ |+#include <optional> 7 | /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h: In member function ‘const CDBTo3DTiles::CDBTile& CDBTo3DTiles::CDBClassesAttributes::getTile() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:83:62: error: ‘m_tile’ was not declared in this scope; did you mean ‘mktime’? 83 | inline const CDBTile &getTile() const noexcept { return *m_tile; } | ^~~~~~ | mktime /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h: At global scope: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:139:10: error: ‘optional’ in namespace ‘std’ does not name a template type 139 | std::optional<CDBClassesAttributes> createClassesAttributes(const CDBTile &instancesTile, | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:139:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 139 | std::optional<CDBClassesAttributes> createClassesAttributes(const CDBTile &instancesTile, | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h: In member function ‘const CDBTo3DTiles::CDBTile& CDBTo3DTiles::CDBClassesAttributes::getTile() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:83:62: error: ‘m_tile’ was not declared in this scope; did you mean ‘mktime’? 83 | inline const CDBTile &getTile() const noexcept { return *m_tile; } | ^~~~~~ | mktime /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h: At global scope: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:139:10: error: ‘optional’ in namespace ‘std’ does not name a template type 139 | std::optional<CDBClassesAttributes> createClassesAttributes(const CDBTile &instancesTile, | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:139:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 139 | std::optional<CDBClassesAttributes> createClassesAttributes(const CDBTile &instancesTile, | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:146:10: error: ‘optional’ in namespace ‘std’ does not name a template type 146 | std::optional<CDBTile> m_tile; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:146:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 146 | std::optional<CDBTile> m_tile; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:146:10: error: ‘optional’ in namespace ‘std’ does not name a template type 146 | std::optional<CDBTile> m_tile; | ^~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:146:5: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 146 | std::optional<CDBTile> m_tile; | ^~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h: In member function ‘const CDBTo3DTiles::CDBTile& CDBTo3DTiles::CDBModelsAttributes::getTile() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:131:62: error: ‘m_tile’ was not declared in this scope; did you mean ‘mktime’? 131 | inline const CDBTile &getTile() const noexcept { return *m_tile; } | ^~~~~~ | mktime /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h: In member function ‘const CDBTo3DTiles::CDBTile& CDBTo3DTiles::CDBModelsAttributes::getTile() const’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBAttributes.h:131:62: error: ‘m_tile’ was not declared in this scope; did you mean ‘mktime’? 131 | inline const CDBTile &getTile() const noexcept { return *m_tile; } | ^~~~~~ | mktime gmake[2]: *** [CDBTo3DTiles/CMakeFiles/CDBTo3DTiles.dir/build.make:146: CDBTo3DTiles/CMakeFiles/CDBTo3DTiles.dir/src/CDBImagery.cpp.o] Error 1 gmake[2]: *** Waiting for unfinished jobs.... /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeometryVectors.cpp: In static member function ‘static std::optional<CDBTo3DTiles::CDBGeometryVectors> CDBTo3DTiles::CDBGeometryVectors::createFromFile(const std::filesystem::__cxx11::path&, const std::filesystem::__cxx11::path&)’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBGeometryVectors.cpp:44:26: error: ‘createFromFile’ is not a member of ‘CDBTo3DTiles::CDBTile’ 44 | auto tile = CDBTile::createFromFile(file.stem().string()); | ^~~~~~~~~~~~~~ /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBElevation.cpp: In static member function ‘static std::optional<CDBTo3DTiles::CDBElevation> CDBTo3DTiles::CDBElevation::createFromFile(const std::filesystem::__cxx11::path&)’: /home/admin/cdbTo3D/cdb-to-3dtiles/CDBTo3DTiles/src/CDBElevation.cpp:191:26: error: ‘createFromFile’ is not a member of ‘CDBTo3DTiles::CDBTile’ 191 | auto tile = CDBTile::createFromFile(file.stem().string()); | ^~~~~~~~~~~~~~ gmake[2]: *** [CDBTo3DTiles/CMakeFiles/CDBTo3DTiles.dir/build.make:132: CDBTo3DTiles/CMakeFiles/CDBTo3DTiles.dir/src/CDBElevation.cpp.o] Error 1 gmake[2]: *** [CDBTo3DTiles/CMakeFiles/CDBTo3DTiles.dir/build.make:118: CDBTo3DTiles/CMakeFiles/CDBTo3DTiles.dir/src/CDBGeometryVectors.cpp.o] Error 1 gmake[2]: *** [CDBTo3DTiles/CMakeFiles/CDBTo3DTiles.dir/build.make:104: CDBTo3DTiles/CMakeFiles/CDBTo3DTiles.dir/src/TileFormatIO.cpp.o] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:2335: CDBTo3DTiles/CMakeFiles/CDBTo3DTiles.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2

TaukSnarkyAgrud commented 5 months ago

I added :

include

to CDBGeoCell.h The compilation passed but I need to look up if that affects the program. I hope it didn't set that module as optional and now its not available during runtime.

TaukSnarkyAgrud commented 3 months ago

I, again, had this error on a different machine(fresh install of lubuntu). I edited the .h files for CDBTile and CDBGeoCell and added the include:

include

This fixed my compilation issue.