Missing include directives in
There are some include directives missing from Core/IO.h. I am wondering if this is intentional or not. Compiling OpenCV 4.11 which uses Eigen as a dependency with latest libc++ I get a compilation error about incomplete std::stringstream
type. This is because IO.h does not include these headers and neither does Eigen/Core. My guess is that this include was transitively included from other STL headers that are included in Eigen/Core (such as std::string
maybe) but has been factored out in newer versions of libc++.
I still don't understand what would be the benefit of not having the includes closest to their usage, i.e. inside Core/IO.h, as opposed to in the Eigen/Core file. But in either case, this header should be added to be able to compile with latest libc++.