embeddedなブログ

組み込みシステムに関することや趣味に関することをダラダラと書いていきます(^^)

Ceres SolverをVisual Studio 2019で使って最適化問題を解く

2020-07-05 20:22:51 | Windows Embedded Standard

Ceres Solverの公式ページを参考にVisual Studio 2019で最適化問題を解いてみます。今回はまずはCeres SolverをWindowsでビルドするところまでを実施してみます。

ベクトル・行列演算のライブラリEigenを配置します。Eigen公式ページからソースをダウンロードします。私はEigen 3.3.7をダウンロードして、C:\Git\Eigenに展開しました。ビルドは不要ですが、Eigenはソースの展開のためにVisual Studioを使います。

下記だけ個別設定してCMakeを実施します。
Where is the source code: C:/Git/Eigen
Where to build the binaries: C:/Git/Eigen/build

CMAKE_INSTALL_REFIX = C:/Eigen3

CMakeで[Configure][Generate][Open Project]の順に実行します。

Visual Studioが起動したら、ソリューションエクスプローラ上の「INSTALL」を右クリックして、「ビルド」を実行します。すると、EigenのソースがC:\Eigen3に展開されます。

Ceres SolverのCMakeのときに必要となるので、下記の環境変数を設定します。
Eigen3_DIR = C:\Eigen3

次に、一部サンプルで使われているGoogle Gflagsのビルドです。下記コマンドでクローンします。私の環境ではC:\Gitにクローンしました。
git clone https://github.com/gflags/gflags.git

下記だけ個別設定してCMakeを実施しました。
Where is the source code: C:/Git/gflags
Where to build the binaries: C:/Git/gflags/vsbuild
CMAKE_INSTALL_PREFIX:PATH=C:/gflags

CMakeで[Configure][Generate][Open Project]の順に実行します。

Visual Studioが起動したら、ソリューション全体のビルドを実行します。ビルドが成功したら、ソリューションエクスプローラ上の「INSTALL」を右クリックして、「ビルド」を実行します。すると、GflagsのソースとライブラリがC:\Gflagsに展開されます。

Ceres SolverのCMakeのときに必要となるので、下記環境変数を設定します。
GLOG_INCLUDE_DIR_HINTS=C:/gflags/include
GLOG_LIBRARY_DIR_HINTS=C:/gflags/lib

それではCeres Solverの作業に入ります。

下記コマンドでCeres Solverをクローンします。私の環境ではC:\Gitにクローンしました。
git clone https://ceres-solver.googlesource.com/ceres-solver

下記だけ個別設定してCMakeを実施しました。
Where is the source code: C:/Git/ceres-solver
Where to build the binaries: C:/Git/ceres-solver/vsbuild
BUILD_EXAMPLES = ON
BUILD_TESTING = OFF

MINIGLOG = ON
GFLAGS = ON
SUITESPARSE = OFF
CMAKE_INSTALL_REFIX = C:\Ceres

CMakeで[Configure][Generate][Open Project]の順に実行します。

Visual Studioが起動したら、ビルドを実行します。正常にビルドが完了したら、ソリューションエクスプローラで「INSTALL」を右クリックしてbuild(ビルド)を実行すると、Ceres SolverのバイナリがC:\Ceresにコピーされます。

ビルドに関しては以上で完了です。

 

 


最新の画像もっと見る