cmake find_package 无法找到 Eigen3Config.cmake 光谱 Windows
cmake find_package unable to find Eigen3Config.cmake spectra Windows
我正在使用 Eigen3 和光谱 (https://spectralib.org/),这是一个建立在 Eigen 之上的库。 Spectra使用find_package求Eigen,报错:
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 很陌生,所以我不确定。我该如何解决这个问题?
如果您手动包含它,则无需 build/install Eigen 即可使用它,如入门示例中所做的那样 (https://eigen.tuxfamily.org/dox/GettingStarted.html#title0)
但是为了被 CMake 找到,您需要构建/安装它,如 INSTALL 文件中所述。 https://gitlab.com/libeigen/eigen/-/blob/master/INSTALL
通常,您的错误之后会提示您设置变量 Eigen3_DIR
(或类似的东西)以指向目标项目(此处为 Eigen3)的 build/install 目录。它通常在您构建但未安装项目时出现。
所以:
- 构建本征
- 安装它(可选)
- 对于光谱,将 cmake var
Eigen3_DIR
设置为 /path/to/Eigen/build .
(如果特征未安装或仍未找到)
这些步骤对我有用:
- 安装 Eigen
- 为 Eigen 创建构建目录
- cd 进入创建的构建目录
- 运行 "cmake ../"你的特征源目录""
完成后,在项目的 CMakeLists.txt 中,您需要添加“find_package( Eigen3 REQUIRED)”和“include_directories( ${EIGEN3_INCLUDE_DIR})".
我正在使用 Eigen3 和光谱 (https://spectralib.org/),这是一个建立在 Eigen 之上的库。 Spectra使用find_package求Eigen,报错:
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 很陌生,所以我不确定。我该如何解决这个问题?
如果您手动包含它,则无需 build/install Eigen 即可使用它,如入门示例中所做的那样 (https://eigen.tuxfamily.org/dox/GettingStarted.html#title0)
但是为了被 CMake 找到,您需要构建/安装它,如 INSTALL 文件中所述。 https://gitlab.com/libeigen/eigen/-/blob/master/INSTALL
通常,您的错误之后会提示您设置变量 Eigen3_DIR
(或类似的东西)以指向目标项目(此处为 Eigen3)的 build/install 目录。它通常在您构建但未安装项目时出现。
所以:
- 构建本征
- 安装它(可选)
- 对于光谱,将 cmake var
Eigen3_DIR
设置为/path/to/Eigen/build .
(如果特征未安装或仍未找到)
这些步骤对我有用:
- 安装 Eigen
- 为 Eigen 创建构建目录
- cd 进入创建的构建目录
- 运行 "cmake ../"你的特征源目录""
完成后,在项目的 CMakeLists.txt 中,您需要添加“find_package( Eigen3 REQUIRED)”和“include_directories( ${EIGEN3_INCLUDE_DIR})".