cmake find_package无法找到Eigen3Config.cmake光谱窗口

问题描述 投票:0回答:1

我正在使用具有光谱(https://spectralib.org/)的Eigen3,这是在Eigen之上构建的库。 Spectra使用find_package查找本征,并提示错误:

 Could not find a package configuration file provided by "Eigen3" with any
  of the following names:

    Eigen3Config.cmake
    eigen3-config.cmake

浏览Eigen的目录时,我发现没有那些名称的文件,而是一个名为Eigen3Config.cmake.in的文件。我尝试复制文件并将其重命名为Eigen3Config.cmake,但这给了我一个不同的错误

find_package Error reading CMake code from "C:/Program Files
  (x86)/Eigen3/cmake/Eigen3Config.cmake".

有点期望,但是它确实告诉我,它至少可以找到Eigen3Config.cmake.in所在的目录。我假设find_package应该使用Eigen3Config.cmake.in,或者Eigen3Config.cmake.in应该生成Eigen3Config.cmake,但是我对cmake还是很陌生,所以我不确定。我该如何解决?

cmake eigen eigen3
1个回答
0
投票

如果您手动包含它,则无需构建/安装Eigen来使用它,如入门示例(https://eigen.tuxfamily.org/dox/GettingStarted.html#title0)中所做的那样

但是要被CMake找到,您将需要按照安装文件中的说明构建/安装它。 https://gitlab.com/libeigen/eigen/-/blob/master/INSTALL

通常,您的错误后会出现提示,提示您设置变量Eigen3_DIR(或类似名称)以指向目标项目的构建/安装目录(此处为Eigen3)。它通常在您构建但未安装项目时出现。

所以:

  1. 构建特征
  2. 安装它(可选)
  3. 对于光谱,将cmake var Eigen3_DIR设置为/path/to/Eigen/build .(如果未安装本征或仍未找到本征)
© www.soinside.com 2019 - 2024. All rights reserved.