Cmake_gui と Visual Studio を使用して 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")
私の質問は次のとおりです。
find_package のパスを指定する正しい方法は何ですか? Windows 内でパス環境変数を使用するか、CMakeLists.txt を変更する必要がありますか?
Windows でこのパスを正しく指定していますか? Eigen3 の内部ディレクトリにリンクする必要がありますか? のよう
E:\Code\libs\eigen-3.3.9\cmake
に、バック スラッシュの代わりにスラッシュを使用するか、パスに引用符を使用しますか? これらすべてを試してみましたが、成功しませんでした。find_package は、指定されたディレクトリ内でパッケージを再帰的に検索しますか? または、正確なディレクトリを指定する必要がありますか?
ありがとう