Ctake encuentra la biblioteca Eigen pero no marca con la búsqueda -- mpilation campo con cmake campo con eigen camp Relacionados El problema

Cmake finds Eigen library but does not mark with found


1
vote

problema

Español

Encontré un comportamiento extraño con cmake . En mi computadora tengo dos versiones de Eigen6 :

  1. instalado a través de Ubuntu Repo (versión 3.2.2 )
  2. descargado uno (versión 3.3.3 ).

He agregado la ubicación de la 2. Biblioteca Eigen en $PATH .

en el cmakefiles.txt escribo

  find_package(Eigen3 3.3.3 REQUIRED) if (NOT Eigen3_FOUND) MESSAGE( STATUS "Eigen not found.") endif(NOT Eigen3_FOUND) MESSAGE( STATUS "EIGEN_DIR:         " ${Eigen3_INCLUDE_DIR})   

pero sale lo siguiente:

  -- Found Eigen3: /home/armena/armena/eigen3 (Required is at least version "3.3.3")  -- Eigen not found. -- EIGEN_DIR:      

De lo que entiendo Encuentra la biblioteca, pero no puede devolver su ubicación. ¿Algúna idea de cómo arreglar esto? Gracias

Original en ingles

I found a strange behavior with cmake. On my computer I have two versions of Eigen:

  1. installed one via ubuntu repo (version 3.2.2)
  2. downloaded one (version 3.3.3).

I have added the location of the 2. Eigen library in $PATH.

In the CMakeFiles.txt I write

find_package(Eigen3 3.3.3 REQUIRED) if (NOT Eigen3_FOUND) MESSAGE( STATUS "Eigen not found.") endif(NOT Eigen3_FOUND) MESSAGE( STATUS "EIGEN_DIR:         " ${Eigen3_INCLUDE_DIR}) 

but it outputs the following:

-- Found Eigen3: /home/armena/armena/eigen3 (Required is at least version "3.3.3")  -- Eigen not found. -- EIGEN_DIR:    

From what I understand it finds the library but it is not able to return its location. Any idea how to fix this? Thanks

        
   
   

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

El problema es que el archivo de configuración del paquete de Eigen no sigue las directrices de nomenclatura recomendadas de CMAKE; Todas sus variables están prefijadas con EIGEN3_ , NO CON Eigen3_ . Si cambias a tu cmakelist así, debería funcionar:

  if (NOT EIGEN3_FOUND)   message( STATUS "Eigen not found.") endif() message( STATUS "EIGEN_DIR:         " ${EIGEN3_INCLUDE_DIR})   
 

The problem is that Eigen's package config file does not follow CMake's recommended naming guidelines; all of its variables are prefixed with EIGEN3_, not with Eigen3_. If you change your CMakeList like this, it should work:

if (NOT EIGEN3_FOUND)   message( STATUS "Eigen not found.") endif() message( STATUS "EIGEN_DIR:         " ${EIGEN3_INCLUDE_DIR}) 
 
 

Relacionados problema

59  Convierta la matriz Eigen a C Array  ( Convert eigen matrix to c array ) 
The La biblioteca de Eigen puede asignar la memoria existente en MATRICES EIGEN. float array[3]; Map<Vector3f>(array, 3).fill(10); int data[4] = 1, 2, 3,...

4  ¿Cómo devolveré un Eigen :: Matrix de un método, de modo que no copie los datos al regresar  ( How do i return a eigenmatrix from a method such it do not copy the data when ) 
Tengo: Eigen::MatrixXf load_from_gpu() { Eigen::MatrixXf mat(m_rows,m_cols); clEnqueueReadBuffer(m_manager->m_gpu_queue_loader, m_buffer, CL_TRUE, ...

1  ¿Cómo calcular SVD utilizando CIMG (o tal vez OPENCV o Biblioteca Eigen)?  ( How to compute svd using cimg or maybe opencv or eigen library ) 
¿Puede alguien darme una guía rápida sobre cómo usar CIMG para calcular SVD para una matriz de 3 dimensiones? Solo quiero obtener la descomposición de la matr...

8  Implementación de una función de densidad de probabilidad gaussiana multivariable para> 2 dimensiones en C ++  ( Implementing a multivariate gaussian probability density function for 2 dimensi ) 
Estoy trabajando en la implementación de una función de densidad de probabilidad de un gaussiano multivariado en C ++, y estoy atascado en cómo manejar mejor ...

6  Multiplicación de matriz de elementos: R contra RCPP (¿Cómo acelerar este código?)  ( Elementwise matrix multiplication r versus rcpp how to speed this code up ) 
Soy nuevo en C++ Programación (usando Rcpp para una integración perfecta en R ), y apreciaría algunos consejos sobre cómo acelerar algunos cálculos. Co...

1  Multiplicando las escasas sub-matrices en Eigen  ( Multiplying sparse sub matrices in eigen ) 
Estoy tratando de multiplicar sub-matrices como bloques, columnas y filas de Eigen :: SPARSEMATRIX. Sin embargo, cada vez que se involucran múltiples sub-matr...

0  ¿Se beneficia con Cholesky de Eigen de MP?  ( Does eigens cholesky benefit from mp ) 
Me pregunto si el uso de múltiples hilos (usando FOPENMP) aceleraría la descomposición de Cholesky de Eigen https://eigen.tuxfamily.org/dox/classeigen_1_1l...

17  Resolviendo grandes sistemas lineales con matrices escasas de bloques  ( Solving large linear systems with block sparse matrices ) 
Quiero resolver Ax = b DONDE A es una matriz de bloques simétricos definitiva positiva muy grande y x y b son vectores. Cuando digo grande, quiero dec...

4  Agregue la fila y la columna en la posición cero en Matrix Eigen  ( Add row and column at zero position in matrix eigen ) 
Tengo la matriz por ejemplo: C (400,400) y me gustaría hacer crecer esta matriz con un vector: fila y columna de esta matriz en el índice de inicio 0 de la ...

1  Extendiendo Eigen con Cwisenularyop: no se puede reproducir Ejemplo  ( Extending eigen with cwisenullaryop cannot reproduce example ) 
Estoy tratando de reproducir el segundo ejemplo en esta página de la documentación de Eigen , pero no puede compilar mi programa mínimo. Estoy usando Eigen ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos