Как установить eigen 3.3 в Ubuntu 14.04?

Я использую Ubuntu 14.04 и хочу установить eigen 3.3 в Ubuntu. Я попытался загрузить новейшую версию Eigen 3 (3.3) и установить следующим образом

mkdir buildcd buildcmake ..makesudo 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-devPriority: extraSection: libdevelInstalled-Size: 3729Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>Architecture: allSource: eigen3Version: 3.2.0-8Provides: libeigen2-devDepends: pkg-configSuggests: libeigen3-doc, libmrpt-devSize: 494158

Это показало, что моя настройка не завершена. Как я могу установить собственную версию в свой 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/eigen3CMake Warning at cmake/FindEigen.cmake:62 (message):  Eigen version is less than requred version 3.2.90Call 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)

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок

Для тех, кому просто требуется достаточно свежая версия Статья 3 в Ubuntu и аналогичных дистрибутивах на базе Debian (...что является обычным случаем), установив существующий libeigen3-dev пакета достаточно: напр.,

sudo apt install libeigen3-dev

Ручная загрузка и установка Eigen 3, вероятно, является излишеством для большинства случаев использования.

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок

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/ в вашем компьютере)

dpkg знает только о программном обеспечении, которое вы установили с помощью стандартных инструментов управления пакетами Ubuntu. Но это не то, как вы установили eigen.Вы установили из исходного кода, и как таковой dpkg он этого не знает. Выход из dpkg -p libeigen3-dev речь идет не об установленном вами eigen, а о другой версии eigen, установленной с помощью стандартных средств управления пакетами.

Основываясь на вашем выводе sudo make install, версия eigen, которую вы установили из исходного кода, готова к использованию, ее файлы доступны в /usr/local/include/eigen3/unsupported/Eigen/src.

После извлечения сжатой папки проверьте установочный файл. Я использовал второй вариант установки с помощью cmake. После чего папка "eigen3" с заголовочными файлами была создана в /usr/local/include/ папка.

В свой проект вы можете включить собственные заголовки, подобные этому:

#include <eigen3/Eigen/Dense>

Я забыл упомянуть об этом. Поскольку заголовочные файлы находятся в /usr/local/include/ папку, вам не нужно компилировать свои файлы исходного кода против них с помощью "g++ -I .... ."

Удачи!

Если вы не предпримете дополнительные шаги (например, не используете программу “checkinstall” вместо “make install”), система dpkg ничего не будет знать о программах, установленных таким образом из исходного кода.

Извините. Что это значит? Как я мог бы исправить свою проблему? Я уверен, что я не установил версию 3.3 успешно

Что заставляет вас думать, что это было неудачно? Что говорит pkg-config --modversion eigen3? Какую версию вы на самом деле получаете, когда пытаетесь создать материал?

Потому что я запускаю исходный код, для которого требуется версия Eigen > = 3.2.90, и он показал, что моя текущая версия по-прежнему 3.2.0

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок