Missing includes are observed when compiling amp-embedded-infra within a different environment. For example:
FAILED: infra/syntax/CMakeFiles/infra.syntax.dir/XmlNavigator.cpp.obj
C:\Users\320269030\AppData\Local\Programs\CLion\bin\mingw\bin\g++.exe -DEMIL_HOST_BUILD -IC:/dev/src-embedded-dsx/build/_deps/emil-src-host/infra/util/../.. -IC:/dev/src-embedded-dsx/build/_deps/emil-build-host/_deps/protobuf-src/upb/reflection/cmake -IC:/dev/src-embedded-dsx/build/_deps/emil-build-host/_deps/absl-src -IC:/dev/src-embedded-dsx/build/_deps/emil-build-host/_deps/protobuf-src/src -IC:/dev/src-embedded-dsx/build/_deps/emil-build-host/_deps/protobuf-src/third_party/utf8_range -IC:/dev/src-embedded-dsx/build/_deps/emil-build-host/_deps/pugixml-src/src -g -std=gnu++17 -Wno-psabi -Wno-deprecated-declarations -MD -MT infra/syntax/CMakeFiles/infra.syntax.dir/XmlNavigator.cpp.obj -MF infra\syntax\CMakeFiles\infra.syntax.dir\XmlNavigator.cpp.obj.d -o infra/syntax/CMakeFiles/infra.syntax.dir/XmlNavigator.cpp.obj -c C:/dev/src-embedded-dsx/build/_deps/emil-src-host/infra/syntax/XmlNavigator.cpp
In file included from C:/dev/src-embedded-dsx/build/_deps/emil-src-host/infra/syntax/XmlNavigator.cpp:1:
C:/dev/src-embedded-dsx/build/_deps/emil-src-host/infra/syntax/XmlNavigator.hpp:61:9: error: 'int32_t' does not name a type
61 | int32_t operator/(const XmlIntegerAttributeNavigatorToken& token) const;
| ^~~~~~~
C:/dev/src-embedded-dsx/build/_deps/emil-src-host/infra/syntax/XmlNavigator.hpp:7:1: note: 'int32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
6 | #include <optional>
+++ |+#include <cstdint>
7 | #include <stdexcept>
This particular .hpp file use int32_t, std::string and std::vector, but is not including the files in which these are being defined. This could be prevented by using tools, such as e.g. include what you use.
Missing includes are observed when compiling amp-embedded-infra within a different environment. For example:
This particular .hpp file use int32_t, std::string and std::vector, but is not including the files in which these are being defined. This could be prevented by using tools, such as e.g. include what you use.