Я компилирую стороннюю библиотеку, которая использует следующие команды для поиска Eigen3:
find_package( PkgConfig )
pkg_check_modules( EIGEN3 REQUIRED eigen3 )
include_directories(${EIGEN3_INCLUDE_DIRS})
Команда find_package( PkgConfig )
выполняется правильно, поскольку я указал переменную PKG_CONFIG_EXECUTABLE
. Но pkg_check_modules( EIGEN3 REQUIRED eigen3 )
возвращает ошибку:
-- Проверка модуля 'eigen3'
-- Пакет 'eigen3' не найден
На официальной веб-странице Eigen3 говорится, что нет необходимости использовать CMake или что-либо устанавливать. Мне потребовалось довольно много времени, чтобы понять, что это утверждение неверно. Поэтому я выполнил следующее, чтобы скомпилировать и установить Eigen3 (версия 3.3.5):
cmake -DCMAKE_CONFIGURATION_TYPES=Release -DCMAKE_INSTALL_PREFIX=E:\3rd-parties\eigen-3.3.5\install_ -G"Visual Studio 14 2015 Win64" ..
Процесс компиляции и установки прошел успешно, потому что я не видел сбоев в VS2015. Но когда я возвращаюсь в папку сборки сторонней библиотеки и снова запускаю cmake, я получаю точно такую же ошибку. Eigen3 официальный сайт предоставляет только инструкции с использованием find_package
, но не pkg-config.exe, поэтому я затем поискал в Google и нашел этот thread. В ответе говорится, что нам нужно включить поддержку pkg-config в cmake eigen3. Я не знаю, как его включить. Есть ли какая-то конкретная переменная CMake для этой цели? Поскольку это новая проблема, и на на главной странице Eigen написано "Чтобы получить помощь, stackoverflow — ваш лучший ресурс. поэтому я прихожу сюда за помощью. Мой вопрос: как включить поддержку pkg-config в eigen3? Или, говоря иначе: как передать команду pkg_check_modules( EIGEN3 REQUIRED eigen3 )
cmake? Большое спасибо.
P.S. Работаю на Windows 10.