一.编译环境

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

最新文章

  1. 关于json 与 Request Header 的Content-Type 一些关系。
  2. Leetcode | Palindrome
  3. setinterval在jQuery里面是怎么使用的。
  4. Cassandra目录
  5. The Toast in android
  6. insertAdjacentHTML方法详解
  7. [array] leetcode - 54. Spiral Matrix - Medium
  8. bash脚本之数组学习
  9. 从壹开始 [ Nuxt.js ] 之一 || 为开源收录Bug之 TiBug项目 开篇讲
  10. tidb 架构 ~Tidb学习系列(4)
  11. S5PV210 NAND Flash
  12. Linux性能优化 第二章 性能工具:系统CPU
  13. 【网络编程三】网络通信之多进程(线程)实现TCP通信(一)
  14. 【Zookeeper】源码分析之持久化(一)之FileTxnLog
  15. Dynamic Lotusscript
  16. Jsonp的实现
  17. jQuery判断checkbox是否选
  18. Appium Desktop介绍-xcodebuild failed with code 65 问题解决
  19. javascript客户端遍历控件与获取父容器对象
  20. (转)DB2和 Oracle的并发控制(锁)比较

热门文章

  1. range() 与 np.arange()
  2. BigDecimal精度与相等比较的坑
  3. 洛谷P4138 挂饰 背包
  4. 洛谷P3826 蔬菜 [NOI2017] 贪心
  5. Django中配置用Redis做缓存和session
  6. div+css网页标准布局实例教程(一)
  7. Java bytesToHexString 解析
  8. 【HTML5】实例练习
  9. 003-Nginx 设置Header 获取真实IP
  10. <转>MySQL临时表的简单用法