Ich versuche Eigen3 in meinem Projekt zu verwenden, und ich bekomme diese Fehlermeldung, wenn ich versuche mit CMake zu bauen und macheEigen3 von Linux Mint 17,3 Repo, Dünnbesetzte Matrix nicht genannt
/usr/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h:246:11: error: ‘SparseMatrix’ does not name a type
typedef SparseMatrix<Scalar, 0, StorageIndex> ReturnType;
I 17.3 Linux Mint verwenden. Ich habe sowohl die Eigen2- als auch die Eigen3-Bibliotheken und ich bin mir ziemlich sicher, dass der CMake Eigen3 auswählt (insbesondere angesichts der oben angegebenen Fehlermeldung). Ich habe eigen3 mit dem Befehl sudo apt-get install libeigen3-dev
installiert. Wenn ich apt-cache show libeigen3-dev
laufen bekomme ich
Package: libeigen3-dev
Priority: extra
Section: universe/libdevel
Installed-Size: 5130
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian Science Maintainers <[email protected]>
Architecture: all
Source: eigen3
Version: 3.3~beta1-2
Depends: pkg-config
Suggests: libeigen3-doc, libmrpt-dev
Filename: pool/universe/e/eigen3/libeigen3-dev_3.3~beta1-2_all.deb
Size: 662650
MD5sum: bad08ef7b1d166c5bc9903e510a9fb68
SHA1: ef35745fcd047f1a1f18834e02ccef1476d7407c
SHA256: 5c73d97dca2d950ce51bde451deed4b6508b2f6cca9b9b6563218591e029f17b
Description-en: lightweight C++ template library for linear algebra
Eigen 3 is a lightweight C++ template library for vector and matrix math,
a.k.a. linear algebra.
.
Unlike most other linear algebra libraries, Eigen 3 focuses on the simple
mathematical needs of applications: games and other OpenGL apps, spreadsheets
and other office apps, etc. Eigen 3 is dedicated to providing optimal speed
with GCC. A lot of improvements since 2-nd version of Eigen.
Description-md5: 71025bd67be9e83075fd5a0e7ab822a2
Homepage: http://eigen.tuxfamily.org
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 9m
hier ein minimaler Code-Schnipsel ist:
#include <unsupported/Eigen/KroneckerProduct>
int main() {
return 0;
}
mit g++ -std=c++11 -I /usr/local/include/eigen3 hello.cpp -o hello
Kompilieren:
In file included from /usr/local/include/eigen3/unsupported/Eigen/KroneckerProduct:30:0,
from hello.cpp:4:
/usr/local/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h:246:11: error: ‘SparseMatrix’ does not name a type
typedef SparseMatrix<Scalar, 0, StorageIndex> ReturnType;
Wie wäre es mit der offiziellen Version? – kangshiyin
Ich habe die offizielle Version aus dem Mercurial Repo getestet und habe den gleichen Fehler bekommen. – BlazePascal
Wie wäre es mit älteren Version wie 3.2.9. Wie auch immer, es ist "nicht unterstützt" – kangshiyin