Я использую Ubuntu 14.04, и я хочу установить собственные 3.3 в Ubuntu. Я пытался загрузить новейшую версию Собственных 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 <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
Показанный мою установку не заканчивается. Как я могу установить собственную версию в своей 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)
Собственный 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 на Ubuntu и подобных находящихся в Debian дистрибутивах (..., который является общим падежом ), устанавливая существующее libeigen3-dev
достаточен пакет: , например,
sudo apt install libeigen3-dev
Вручную загрузка и установка Собственных 3 являются, вероятно, излишеством для большинства вариантов использования.
dpkg
только знает о программном обеспечении, что Вы установили стандартными инструментами управления пакета Ubuntu. Но это не то, как Вы установили собственный. Вы установили от исходного кода, и как таковой dpkg
не знает это. Вывод dpkg -p libeigen3-dev
не о собственном, что Вы установили, а о другой версии собственных, установили использование стандартных инструментов управления пакета.
На основе Вашего вывода sudo make install
, версия собственных, которые Вы установили из источника, готова использовать, ее файлы доступны в /usr/local/include/eigen3/unsupported/Eigen/src
.
После извлечения сжатой папки проверяют файл УСТАНОВКИ. Я использовал вторую опцию установки использования cmake
. После которого "eigen3" папка с заголовочными файлами была создана в /usr/local/include/
папка.
В Вашем проекте можно включать собственные заголовки как это:
#include <eigen3/Eigen/Dense>
я забыл упоминать это. Так как заголовочные файлы находятся в /usr/local/include/
папка, Вы не должны компилировать свои файлы исходного кода против них использующий" g++ -I
..... "
Удачи!