Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation Error #70

Open
tomkartj opened this issue Jan 5, 2023 · 4 comments
Open

Compilation Error #70

tomkartj opened this issue Jan 5, 2023 · 4 comments

Comments

@tomkartj
Copy link

tomkartj commented Jan 5, 2023

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
Copy link
Contributor

lilleyse commented Jan 5, 2023

@tomkartj what compiler are you using and what version?

@TaukSnarkyAgrud
Copy link

TaukSnarkyAgrud commented Jan 25, 2024

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
Copy link

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants