如何在 Ubuntu 14.04 中安装 eigen 3.3?

如何在 Ubuntu 14.04 中安装 eigen 3.3?

我正在使用 Ubuntu 14.04,我想在 Ubuntu 中安装 eigen 3.3。我尝试下载最新版本的 Eigen 3 (3.3) 并按如下方式安装

mkdir build
cd build
cmake ..
make
sudo make install 

输出喜欢

-- Installing: /usr/local/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h
-- Installing: /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h
-- Installing: /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h
-- Installing: /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h
-- Installing: /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h
-- Installing: /usr/local/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h
-- Installing: /usr/local/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h
-- Installing: /usr/local/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h
-- Installing: /usr/local/include/eigen3/unsupported/Eigen/src/Splines/Spline.h

然而,当我用 检查我当前的特征版本时dpkg -p libeigen3-dev,输出是

Package: libeigen3-dev
Priority: extra
Section: libdevel
Installed-Size: 3729
Maintainer: Ubuntu Developers <[email protected]>
Architecture: all
Source: eigen3
Version: 3.2.0-8
Provides: libeigen2-dev
Depends: pkg-config
Suggests: libeigen3-doc, libmrpt-dev
Size: 494158

显示我的安装未完成。如何在我的 Ubuntu 中安装 eigen 版本?谢谢大家

当我使用 CmakeList.txt 进行编译时出现此错误源代码

-- ===============================================================
-- ============ Configuring CompileSettings  =====================
-- ===============================================================
-- ============= Look for required libraries =====================
-- Looking for Eigen Library with minimum version 3.2.90
-- Looking for Eigen via User Provided (or Cached) location
-- Eigen version 3.2.0 found in /usr/include/eigen3
CMake Warning at cmake/FindEigen.cmake:62 (message):
  Eigen version is less than requred version 3.2.90
Call Stack (most recent call first):
  cmake/FindEigen.cmake:73 (Eigen_Check_Version)
  CMakeLists.txt:23 (FIND_PACKAGE)


CMake Error at /usr/local/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find Eigen (missing: EIGEN_VERSION_OK) (Required is at least
  version "3.2.90")
Call Stack (most recent call first):
  /usr/local/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindEigen.cmake:74 (find_package_handle_standard_args)
  CMakeLists.txt:23 (FIND_PACKAGE)

答案1

对于那些只需要较新版本的特征 3在 Ubuntu 和类似的基于 Debian 的发行版上(...这是常见的情况),安装现有的libeigen3-dev包就足够了:例如,

sudo apt install libeigen3-dev

对于大多数用例来说,手动下载和安装 Eigen 3 可能有些过度。

答案2

Eigen c++ 是一个仅有头文件的库:您不需要安装它,只需下载、解压并将您的代码链接到它即可。

例如,如果您的代码在my_favorite_cpp_folder,您可以执行以下操作:

cd my_favorite_cpp_folder

并且,假设您的编译器是gcc,并且特征头在 /usr/local/include/eigen3/unsupported/,并且您的源文件的名称是my_favorite_cpp_source_file.cpp,您编译和编码并通过执行以下操作将其链接到特征头:

g++ -I /usr/local/include/eigen3/ my_favorite_cpp_source_file.cpp -o my_favorite_cpp_source_file

(从上面发布的代码输出来看,特征头位于/usr/local/include/eigen3/您的计算机中)

答案3

解压压缩文件夹后,检查 INSTALL 文件。我使用了第二个选项,即使用 进行安装cmake。之后,在文件夹中创建了包含头文件的“eigen3”文件夹/usr/local/include/

在您的项目中,您可以包含如下特征标头:

#include <eigen3/Eigen/Dense>

我忘了提这一点了。由于头文件位于/usr/local/include/文件夹中,因此您无需使用“ g++ -I....”来编译源代码文件。

祝你好运!

答案4

dpkg只知道您通过 Ubuntu 标准包管理工具安装的软件。但这不是您安装 eigen 的方式。您是从源代码安装的,因此dpkg不知道它。的输出dpkg -p libeigen3-dev不是关于您安装的 eigen,而是关于使用标准包管理工具安装的不同版本的 eigen。

根据您的输出sudo make install,您从源代码安装的 eigen 版本已可供使用,其文件可在 中使用/usr/local/include/eigen3/unsupported/Eigen/src

相关内容