Ceres ソルバ(Ceres Solver)は,非線形の最適化の機能をもったソフトウェア.
下に書いているように,vcpkg を利用してインストールすることができる. 特に問題がない場合には vcpkg の利用してのインストールを検討しよう. vcpkg を使わずにインストールする必要がある場合は,このページの手順によりインストールを行うことができる.
Windows での Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022) のインストール: 別ページ »で説明している.
次のコマンドを実行
if not exist c:\vcpkg ( cd c:\ rmdir /s /q vcpkg git clone https://github.com/microsoft/vcpkg cd c:\vcpkg git pull .\bootstrap-vcpkg.bat .\vcpkg update .\vcpkg integrate install powershell -command "[System.Environment]::SetEnvironmentVariable(\"VCPKG_ROOT\", \"c:\vcpkg\", \"Machine\")" powershell -command "[System.Environment]::SetEnvironmentVariable(\"VCPKG_DEFAULT_TRIPLET\", \"x64-windows\", \"Machine\")" powershell -command "[System.Environment]::SetEnvironmentVariable(\"CMAKE_TOOLCHAIN_FILE\", \"c:/vcpkg/scripts/buildsystems/vcpkg.cmake\", \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"LIB\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\lib\"; [System.Environment]::SetEnvironmentVariable(\"LIB\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"INCLUDE\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\include\"; [System.Environment]::SetEnvironmentVariable(\"INCLUDE\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\vcpkg\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\vcpkg\installed\x64-windows\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" )
次のコマンドを実行
c:\vcpkg\vcpkg search ceres c:\vcpkg\vcpkg install --triplet x64-windows ceres[cxsparse,eigensparse,lapack,suitesparse,tools] powershell -command "[System.Environment]::SetEnvironmentVariable(\"CERES_ROOT\", \"C:\vcpkg\installed\x64-windows\", \"Machine\")"
次のコマンドを実行
c:\vcpkg\vcpkg search suitesparse c:\vcpkg\vcpkg install --triplet x64-windows suitesparse powershell -command "[System.Environment]::SetEnvironmentVariable(\"SP_ROOT\", \"C:\vcpkg\installed\x64-windows\", \"Machine\")" powershell -command "[System.Environment]::SetEnvironmentVariable(\"SUITESPARSE_ROOT\", \"C:\vcpkg\installed\x64-windows\", \"Machine\")"
次のコマンドを実行
c:\vcpkg\vcpkg search metis c:\vcpkg\vcpkg install --triplet x64-windows metis powershell -command "[System.Environment]::SetEnvironmentVariable(\"METIS_ROOT\", \"C:\vcpkg\installed\x64-windows\", \"Machine\")"
次のコマンドを実行
c:\vcpkg\vcpkg search gflags c:\vcpkg\vcpkg install --triplet x64-windows gflags powershell -command "[System.Environment]::SetEnvironmentVariable(\"GFLAGS_ROOT\", \"C:\vcpkg\installed\x64-windows\", \"Machine\")"
次のコマンドを実行
c:\vcpkg\vcpkg search glog c:\vcpkg\vcpkg install --triplet x64-windows glog powershell -command "[System.Environment]::SetEnvironmentVariable(\"GLOG_ROOT\", \"C:\vcpkg\installed\x64-windows\", \"Machine\")"
Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.
【サイト内の関連ページ】
Windows での Git のインストール: 別ページ »で説明している.
【関連する外部ページ】
Git の公式ページ: https://git-scm.com/
CMake はビルドツールである.
【サイト内の関連ページ】
Windows での cmake のインストール: 別ページ »で説明している.
【関連する外部ページ】
CMake の公式ダウンロードページ: https://cmake.org/download/
【サイト内の関連ページ】
Windows での Build Tools for Visual Studio 2022,NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8,NVIDIA cuDNN v8.6 のインストールと動作確認: 別ページ »で説明している.
【関連する外部ページ】
次のページに記載の手順を行う.
https://github.com/jlblancoc/suitesparse-metis-for-windows
前もって,SuiteSparse, Metis をインストールするディレクトリを決めておく
このページでは,いずれも,c:\suitesparse 下にインストールするものとして説明する.
コマンドプロンプトを管理者として実行: 別ページ »で説明
c: cd c:\ rmdir /s /q suitesparse-metis-for-windows
cd c:\ git clone --recursive https://github.com/jlblancoc/suitesparse-metis-for-windows powershell -command "[System.Environment]::SetEnvironmentVariable(\"SP_ROOT\", \"c:\suitesparse-metis-for-windows\", \"Machine\")"
cmake でのオプションについて
cmake のオプションの 「Visual Studio 17 2022」のところは, 使用する Visual Studio のバージョンにあわせること. Visual Studio 2022 のときは,「Visual Studio 17 2022」. Visual Studio 2019 のときは,「Visual Studio 16 2019」
cmake の実行手順例は次の通り
cd c:\ cd suitesparse-metis-for-windows rmdir /s /q build mkdir build cd build del CMakeCache.txt cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 ^ -DCMAKE_BUILD_TYPE=Release ^ -DBUILD_SHARED_LIBS=ON ^ -DCMAKE_INSTALL_PREFIX="C:/suitesparse"
エラーメッセージが出ていないこと.
次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\suitesparse\lib\lapack_blas_windows\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\suitesparse\lib\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\suitesparse\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"SUITESPARSE_ROOT\", \"c:\suitesparse\", \"Machine\")"
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"METIS_ROOT\", \"c:\suitesparse\", \"Machine\")"
コマンドプロンプトを管理者として実行: 別ページ »で説明
gflags の GitHub のページ: https://github.com/gflags/gflags
cmake のオプションの 「Visual Studio 17 2022」のところは, 使用する Visual Studio のバージョンにあわせること. Visual Studio 2022 のときは,「Visual Studio 17 2022」. Visual Studio 2019 のときは,「Visual Studio 16 2019」
C: cd %HOMEPATH% rmdir /s /q gflags git clone https://github.com/gflags/gflags cd gflags rmdir /s /q a mkdir a cd a del CMakeCache.txt cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_INSTALL_PREFIX="C:/gflags" ^ -DBUILD_STATIC_LIBS=ON ^ -DBUILD_SHARED_LIBS=ON cmake --build. --config RELEASE cmake --build. --config RELEASE --target INSTALL
エラーメッセージが出ていないことを確認
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"GFLAGS_ROOT\", \"c:\gflags\", \"Machine\")"
glog のインストールの前に,gflags のインストールが終わっていること.
コマンドプロンプトを管理者として実行: 別ページ »で説明
glog の GitHub のページ: https://github.com/google/glog
cmake のオプションの 「Visual Studio 17 2022」のところは, 使用する Visual Studio のバージョンにあわせること. Visual Studio 2022 のときは,「Visual Studio 17 2022」. Visual Studio 2019 のときは,「Visual Studio 16 2019」
C: cd %HOMEPATH% rmdir /s /q glog git clone https://github.com/google/glog cd glog rmdir /s /q build mkdir build cd build del CMakeCache.txt cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_INSTALL_PREFIX="C:/glog" cmake --build. --config RELEASE cmake --build. --config RELEASE --target INSTALL
エラーメッセージが出ていないことを確認
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"GLOG_ROOT\", \"c:\glog\", \"Machine\")"
次のページに記載の手順を行う.
http://ceres-solver.org/installation.html
前もって,Ceres ソルバ(Ceres Solver)をインストールするディレクトリを決めておく
このページでは,c:\ceres 下にインストールするものとして説明する.
コマンドプロンプトを管理者として実行: 別ページ »で説明
C: cd %HOMEPATH% rmdir /s /q ceres-solver
次のページで確認
「-b 2.1.0」でバージョン指定している.
cd %HOMEPATH% git clone --recursive -b 2.1.0 https://github.com/ceres-solver/ceres-solver
cmake でのオプションについて
cmake のオプションの 「Visual Studio 17 2022」のところは, 使用する Visual Studio のバージョンにあわせること. Visual Studio 2022 のときは,「Visual Studio 17 2022」. Visual Studio 2019 のときは,「Visual Studio 16 2019」
cmake の実行手順例は次の通り
cd %HOMEPATH% cd ceres-solver rmdir /s /q a mkdir a cd a del CMakeCache.txt cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_INSTALL_PREFIX="%CERES_ROOT%" ^ -DBUILD_SHARED_LIBS=ON ^ -Dglog_DIR="%GLOG_ROOT%" ^ -Dgflags_DIR="%GFLAGS_ROOT%" ^ -DBLAS_openblas_LIBRARY="%OpenBLAS_ROOT%\lib\openblas.lib" ^ -DSuiteSparse_DIR="%SUITESPARSE_ROOT%" ^ -DMETIS_INCLUDE_DIR="%SUITESPARSE_ROOT%\include" ^ -DMETIS_LIBRARY_RELEASE="%SUITESPARSE_ROOT%\lib\metis.lib" ^ -DCXSparse_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DCXSparse_LIBRARY="%SUITESPARSE_ROOT%\lib\libcxsparse.lib" ^ -DSuiteSparse_AMD_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_CAMD_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_CCOLAMD_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_CHOLMOD_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_COLAMD_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_Config_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_SPQR_INCLUDE_DIR="%SUITESPARSE_ROOT%\include\suitesparse" ^ -DSuiteSparse_AMD_LIBRARY="%SUITESPARSE_ROOT%\lib\libamd.lib" ^ -DSuiteSparse_CAMD_LIBRARY="%SUITESPARSE_ROOT%\lib\libcamd.lib" ^ -DSuiteSparse_CCOLAMD_LIBRARY="%SUITESPARSE_ROOT%\lib\libccolamd.lib" ^ -DSuiteSparse_CHOLMOD_LIBRARY="%SUITESPARSE_ROOT%\lib\libcholmod.lib" ^ -DSuiteSparse_COLAMD_LIBRARY="%SUITESPARSE_ROOT%\lib\libcolamd.lib" ^ -DSuiteSparse_Config_LIBRARY="%SUITESPARSE_ROOT%\lib\suitesparseconfig.lib" ^ -DSuiteSparse_SPQR_LIBRARY="%SUITESPARSE_ROOT%\lib\libspqr.lib"
エラーメッセージが出ていないこと.
エラーメッセージが出ていないこと.
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"CERES_ROOT\", \"c:\ceres-solver\", \"Machine\")"
次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\gflags\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\glog\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\ceres-solver\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\ceres-solver\lib\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"