How to check the version number of Eigen C++ template library?
Although it is not the goal of the OP, people finding this question may be interested in checking if the version is equal to are newer than a specific release for compatibility reasons with different versions of Eigen. This can be done more easily using the EIGEN_VERSION_AT_LEAST(x, y, z)
macro as follows:
#if EIGEN_VERSION_AT_LEAST(3,3,0)
// Implementation for Eigen 3.3.0 and newer
#else
// Implementation for older Eigen versions
#endif
This macro is also defined in Eigen/src/Core/util/Macros.h
and uses EIGEN_WORLD_VERSION
, EIGEN_MAJOR_VERSION
and EIGEN_MINOR_VERSION
internally.
On Linux:
grep "#define EIGEN_[^_]*_VERSION" /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h
You'll get something like:
#define EIGEN_WORLD_VERSION 3
#define EIGEN_MAJOR_VERSION 3
#define EIGEN_MINOR_VERSION 7
It means version 3.3.7
In order to check the version number of Eigen C++ template library, just type
dpkg -p libeigen3-dev
in the terminal. Or just type
pkg-config --modversion eigen3
you will get the Eigen version.
This answer is only a summary from the comments above:
At compile-time you have
EIGEN_WORLD_VERSION
,EIGEN_MAJOR_VERSION
andEIGEN_MINOR_VERSION
, you can easily embed this information in your application.3.1.91
sounds like abeta version
of3.2
.The version number macros are defined in
Macros.h
located at\Eigen\src\Core\util\
.