我正在尝试使用Cmake_gui和Visual构建ceres sovler
我将ceres-solver克隆到E:\Code\libs\ceres-solver中,并将所需的库Eigen3克隆到E:\Code\libs\eigen-3.3.9中。
当我在ceres-solver上运行cmake-gui时,我得到以下错误:
-- Detected available Ceres threading models: [CXX_THREADS, OPENMP, NO_THREADS]
-- Building with C++14
CMake Error at CMakeLists.txt:242 (find_package):
By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Eigen3", but
CMake did not find one.
Could not find a package configuration file provided by "Eigen3" (requested
version 3.3) with any of the following names:
Eigen3Config.cmake
eigen3-config.cmake
Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set
"Eigen3_DIR" to a directory containing one of the above files. If "Eigen3"
provides a separate development package or SDK, be sure it has been
installed.我从以下几个方面修改了ceres CMakeLists.txt第241行:
find_package(Eigen3 3.3 REQUIRED)至
find_package(Eigen3 3.3 REQUIRED PATH "E:/Code/libs/eigen-3.3.9")但我还是发现了上面的错误
我也试过
list(APPEND CMAKE_PREFIX_PATH "E:/Code/libs/eigen-3.3.9")
set(Eigen3_DIR "E:/Code/libs/eigen-3.3.9")我的问题是:
?
E:\Code\libs\eigen-3.3.9\cmake一样,使用正斜杠代替反斜杠,还是使用引号作为路径的引号?我尝试了所有这些都没有成功。--谢谢
发布于 2021-07-26 21:38:31
根据评论:
我必须先在Eigen3上运行Cmake,才能生成一个构建目录。但是,不一定需要在VS之后内置,
然后在CMakeLists.txt中为ceres-solver设置第240行。
list(APPEND CMAKE_PREFIX_PATH "E:/Code/libs/eigen-3.3.9/build")足以让Cmake-Gui找到Eigen3Config.cmake文件。
备注:
的重新运行配置。
https://stackoverflow.com/questions/68536140
复制相似问题