Solución:
Para aquellos que simplemente necesitan una versión razonablemente reciente de Eigen 3 en Ubuntu y distribuciones similares basadas en Debian (… que es el caso común), instalando el existente libeigen3-dev
el paquete es suficiente: p.ej,
sudo apt install libeigen3-dev
La descarga e instalación manual de Eigen 3 probablemente sea excesiva para la mayoría de los casos de uso.
Eigen c ++ es una biblioteca de solo encabezado: no tiene que instalarla, solo descargarla, descomprimirla y vincular su código con ella.
Por ejemplo, si su código está en my_favorite_cpp_folder
, tú haces:
cd my_favorite_cpp_folder
y, asumiendo que su compilador es gcc
y los encabezados eigen están en
/usr/local/include/eigen3/unsupported/
y el nombre de su archivo fuente es my_favorite_cpp_source_file.cpp
, compila y codifica y lo vincula a los encabezados propios haciendo:
g++ -I /usr/local/include/eigen3/ my_favorite_cpp_source_file.cpp -o my_favorite_cpp_source_file
(de la salida de su código publicada arriba, los encabezados propios están en /usr/local/include/eigen3/
en tu computadora)
dpkg
solo conoce el software que ha instalado con las herramientas de administración de paquetes estándar de Ubuntu. Pero no es así como instalaste eigen. Ha instalado desde el código fuente, y como tal dpkg
no lo sabe. La salida de dpkg -p libeigen3-dev
no se trata del eigen que instaló, sino de una versión diferente de eigen, instalada usando las herramientas estándar de administración de paquetes.
Basado en su salida de sudo make install
, la versión de eigen que instaló desde la fuente está lista para usar, sus archivos están disponibles en /usr/local/include/eigen3/unsupported/Eigen/src
.