Google OR-ToolsをVisualStudio2019でビルドしてみる
Google OR-Tools を利用してみたかったのでVisualStudio2019でビルドしてみたのでメモをまとめておきます。
事前準備
- cmake 3.16
https://cmake.org/ - Visual Studio 2019 community
https://docs.microsoft.com/ja-jp/visualstudio/releases/2019/release-notes
stableコードの取得とサンプルプログラムの実行
基本的には、or-toolsのgithubの資料にある通りだが、私の環境だけなのか、上手くビルドできなかった所がありました。
- コードの取得
デフォルトブランチがstableなので、そのままgit clone。
git clone https://github.com/google/or-tools.git
- cmakeコマンドでコード生成する
mkdir build
cmake -G "Visual Studio 16 2019" -DBUILD_DEPS=ON ..
実はこれだけだとProtobufライブラリのテストコードのビルド付近でコケます。そのため、今回はビルドがコケる理由は一旦置いておいて、SKIPさせるために以下を行いました。
3. ProtobufライブラリのBUILD_TESTをOFFに
再度、上記cmakeコマンドを実行します。今度は、この-Dprotobuf_BUILD_TESTS=OFF
がcmakeに渡されて該当のコケる処理をSKIPしてくれるため、めでたくortools.slnが同buildディレクトリに生成されます。
4. ortools.slnをVisualStudio2019で開き、ソリューションをビルド
5. Debug実行してみる
サンプルコードも一緒にビルドされるためrandom_tsp.exeをDebugモードで起動してステップ実行してみます。
デフォルトではALL_BUILDプロジェクトがスタートアッププロジェクトに設定されているので、random_tspに変更する必要があります。
random_tspのプロジェクトをソリューションエクスプローラー内で右クリックして「スタートアッププロジェクトに設定」を選択します。その後は、Debugger実行をメニューで選べば以下の様にVisualStudio2019のステップ実行が確認できます。
おわりに
Google OR-Toolsで最適化問題を解きたいと考えている人も多いと思います。Apache License 2.0で提供されています。Windowsアプリ開発者も積極的に利用できると良いですね。
ローカル環境でVisualStudio2019上でビルドできたので、高機能なIDEの機能を活用してコード理解を深めることにつながればと思います。それにしてもProtobufがテストコードのビルドでコケるのは私の環境のせいなのか?時間があるときに原因を追究してみよう。
参照元
次回
今回ソースコードからビルドしたortools.libを利用してC++サンプルプログラムを別プロジェクトとして作成してみましょう。