如何在 Ubuntu 14.04 中安装 eigen 3.3?

Joh*_*ohn 20 software-installation 14.04

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

mkdir build
cd build
cmake ..
make
sudo make install 
Run Code Online (Sandbox Code Playgroud)

输出喜欢

-- 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
Run Code Online (Sandbox Code Playgroud)

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

Package: libeigen3-dev
Priority: extra
Section: libdevel
Installed-Size: 3729
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Source: eigen3
Version: 3.2.0-8
Provides: libeigen2-dev
Depends: pkg-config
Suggests: libeigen3-doc, libmrpt-dev
Size: 494158
Run Code Online (Sandbox Code Playgroud)

它显示我的设置没有完成。如何在我的 Ubuntu 中安装本征版本?谢谢大家

当我在源代码中使用 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)
Run Code Online (Sandbox Code Playgroud)

Cec*_*rry 31

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

sudo apt install libeigen3-dev
Run Code Online (Sandbox Code Playgroud)

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

  • `libeigen3-dev` 安装 Eigen 3.2,他要求 3.3,所以如果你需要 3.3,这个答案是错误的。 (7认同)
  • 看起来很简单,但对我来说失败了:( (3认同)

use*_*413 15

Eigen c++ 是一个只有头文件的库:你不必安装它,你只需下载它,解压缩它并将你的代码链接到它。

例如,如果您的代码在 中my_favorite_cpp_folder,您可以:

cd my_favorite_cpp_folder
Run Code Online (Sandbox Code Playgroud)

并且,假设您的编译器是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
Run Code Online (Sandbox Code Playgroud)

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

  • 谢谢。它现在起作用了。我安装的软件只是一个项目。 (2认同)