ubuntu16.04下编译ceres-solver
一.编译环境
ubuntu16.04
二.准备工作之安装必要的库
2.1安装cmake
sudo apt-get install cmake
2.2 安装google-glog + gflags
sudo apt-get install libgoogle-glog-dev
2.3 安装BLAS & LAPACK
sudo apt-get install libatlas-base-dev
2.4 安装Eigen3
sudo apt-get install libeigen3-dev
2.5 安装SuiteSparse和CXSparse
sudo apt-get install libsuitesparse-dev (这个默认会使得ceres-solver被编译成静态库,但到目前为止要想将ceres-solver编译成动态库,需要将一个软件仓库加入到当前的源中,但是那个软件仓库到2018/2/5还没有提供16.04对应的版本,所以16.04不能编译成动态库,不过也有办法,自己打上patch,自行编译suitesparse这个库)
准备工作已经完毕,接下来开始编译ceres-solver
三.编译ceres-solver静态库
3.1 获取源码
wget ceres-solver.org/ceres-solver-1.13.0.tar.gz
3.2 解压
tar xvf ceres-solver-1.13.0.tar.gz
3.3 切换到源码目录
cd ceres-solver-1.13.0
3.4 创建编译目录
mkdir build
3.5 切换到编译目录
cd build
3.6 生成Makefile
cmake ../../ceres-solver-21.13.0
3.7 编译
make -j4
3.8 安装
make install
四.如果想编译自己写的测试程序需要指定如下参数进行编译
比如测试程序为test.cpp
g++ -fopenmp test.cpp -o test -rdynamic /usr/local/lib/libceres.a -lcholmod -llapack -lf77blas -lcxsparse -lglog -I/usr/loca/include -isystem /usr/include/eigen3 -I/usr/include/suitesparse
最新文章
- 关于json 与 Request Header 的Content-Type 一些关系。
- Leetcode | Palindrome
- setinterval在jQuery里面是怎么使用的。
- Cassandra目录
- The Toast in android
- insertAdjacentHTML方法详解
- [array] leetcode - 54. Spiral Matrix - Medium
- bash脚本之数组学习
- 从壹开始 [ Nuxt.js ] 之一 || 为开源收录Bug之 TiBug项目 开篇讲
- tidb 架构 ~Tidb学习系列(4)
- S5PV210 NAND Flash
- Linux性能优化 第二章 性能工具:系统CPU
- 【网络编程三】网络通信之多进程(线程)实现TCP通信(一)
- 【Zookeeper】源码分析之持久化(一)之FileTxnLog
- Dynamic Lotusscript
- Jsonp的实现
- jQuery判断checkbox是否选
- Appium Desktop介绍-xcodebuild failed with code 65 问题解决
- javascript客户端遍历控件与获取父容器对象
- (转)DB2和 Oracle的并发控制(锁)比较