引子
因为项目需要用到Ceres Solver这个库实现非线性优化,这几天投入了很多时间来学习研究。没想到的是,这个库的安装就非常繁琐。官方的安装指南写的却过于简略。尤其是在Windows环境下,问题bug不断,很多坑。经过三天努力,今天终于成功hello world。高兴之余赶快趁机把安装过程记录下来,以便备忘。本文除了记录Ceres Solver的安装过程之外,还详细记录了gflags,glog,SuiteSpares的安装过程,尤其是一些配置选项。希望能对其他人有些许的帮助。
Ceres Solver是一个C++环境下的非线性最小二乘问题的求解工具包,可用来建模并解决大型复杂的非线性最小二乘问题。这个工具包已经广泛被用于很多商业软件中。在google project里面有它的主页: http://code.google.com/p/ceres-solver/。
环境
- Windows 10 Pro
- Visual Studio 2015
- Cmake GUI 3.10.2
安装前的准备
- Ceres-solver 1.13.0
- 下载地址:https://ceres-solver.googlesource.com/ceres-solver/+/1.13.0
- 点击【tgz】下载,下载后需要解压两层才能获得Ceres源代码。
- Eigen 3.3.4
- 下载地址:http://eigen.tuxfamily.org/index.php?title=Main_Page
- 著名的矩阵运算库。
- gflags 2.2.1
- 下载地址:https://github.com/gflags/gflags
- GFlags是Google开源的一个命令行flag(区别于参数)库。
- glog
- 下载地址:https://github.com/google/glog
- Google Glog是Google的一个开源库,用于实现应用级别的logging。 它提供了一系列类似于C++流风格的logging API,以及一些预定义的宏。它有点类似于C里面的assert,但是比它具备更丰富的输出信息以及使用灵活性。
- 我用的是 2018年2月27日的commit版本。相比最新的release 0.3.5 (发布于2017年5月),此commit版去掉了已经生成VS的工程文件(.sln)。安装过程更可控。
- suitesparse-metis-for-wind