Как установить собственные 3.3 в Ubuntu 14.04?

Я использую 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)
9
задан 23 December 2016 в 05:22

4 ответа

Собственный 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/ в Вашем компьютере)

9
ответ дан 23 November 2019 в 04:46

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

sudo apt install libeigen3-dev

Вручную загрузка и установка Собственных 3 являются, вероятно, излишеством для большинства вариантов использования.

17
ответ дан 23 November 2019 в 04:46

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

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

2
ответ дан 23 November 2019 в 04:46

После извлечения сжатой папки проверяют файл УСТАНОВКИ. Я использовал вторую опцию установки использования cmake. После которого "eigen3" папка с заголовочными файлами была создана в /usr/local/include/ папка.

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

#include <eigen3/Eigen/Dense>

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

Удачи!

1
ответ дан 23 November 2019 в 04:46

Другие вопросы по тегам:

Похожие вопросы: