一.编译环境

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

ubuntu16.04下编译ceres-solver的更多相关文章

  1. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  2. Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)

    Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件) https://blog.csdn.net/woainishifu/article/details/79712110 我们在做项 ...

  3. Ubuntu16.04下编译安装及运行单目ORBSLAM2

    官网有源代码和配置教程,地址是 https://github.com/raulmur/ORB_SLAM2 1 安装必要工具 首先,有两个工具是需要提前安装的.即cmake和Git. sudo apt- ...

  4. ubuntu16.04下编译安装vim8.1

    之前写过一篇centos7下编译安装vim8.0的教程,ubuntu16.04相比centos7下安装过程不同在于依赖包名字的不同,其余都是一样.下面给出ubuntu16.04编译安装vim8.0需要 ...

  5. Ubuntu16.04下编译android6.0源码

    http://blog.csdn.net/cnliwy/article/details/52189349 作为一名合格的android开发人员,怎么能不会编译android源码呢!一定要来一次说编译就 ...

  6. Ubuntu16.04下编译vim with python support失败的原因

    - youcompleteme原话:On Ubuntu 16.04, Python support was not working due to enabling both Python2 and P ...

  7. [环境配置]Ubuntu16.04下编译安装gcc6.3.0

    上一篇的SVS要用gcc6.3编译,否则结果不正确,本来以为gcc很好装,结果发现用apt-get安装gcc6只能安装6.5版本,代码作者奇特的要求只能用gcc6.3,没办法只能用源码装了,期间碰见了 ...

  8. ubuntu16.04下编译安装OpenCV

    一: 预先配置 为使OpenCV的安装在编译时更完备,预先安装好所有的开发平台: 二:编译OpenCV 在OpenCV官网下载UNIX的源码包: 安装一下软件: sudo apt-get instal ...

  9. Ubuntu16.04下 编译安装 Tensorflow

    安装bazel sudo ./bazel***.sh 输入bazel version 检查是否安装. 编译tensorflow 1)./configure 除了选择支持cuda是y,其余的都选择n. ...

随机推荐

  1. 洛谷P2444 病毒 [POI2000] AC自动机

    正解:AC自动机 解题报告: 传送门! 首先看到这种题目二话不说先把trie树和fail指针建立起来 然后就想鸭,如果我们想让模式串和文本串尽量不能匹配,就要想办法让它跳fail指针,而不是继续往下走 ...

  2. ARP报文

    硬件类型:指明了发送方想知道的硬件接口类型,以太网的值为1: 协议类型:指明了发送方提供的高层协议类型,IP为0x0800(16进制): 硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这 ...

  3. jquery css样式

    1.单一样式 $('.list li').css( "float", "none"); 2.  多个样式 $('.list li').css( {        ...

  4. linux上mysql安装详细教程

    所有平台的MySQL下载地址为: MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台. MySQL - MySQL服务器.你需要该选项,除非你只想连接运行 ...

  5. requesMapping注解

    java类 package org.springframework.web.bind.annotation; import java.lang.annotation.Documented; impor ...

  6. 【Rewrite重定向】Nginx使用rewrite重新定向

    使用nginx做重新定向. nginx参考网址:http://blog.sina.com.cn/s/blog_97688f8e0100zws5.html 语法规则: location [=|~|~*| ...

  7. SQL查询遍历数据方法一 [ 临时表 + While循环]

    以下以SQL Server 2000中的NorthWind数据库中的Customers表为例, 用 临时表 + While循环 的方法, 对Customers表中的CompanyName列进行遍历 c ...

  8. CodeForces - 946D Timetable (分组背包+思维)

    题意 n天的课程,每天有m个时间单位.若时间i和j都有课,那么要在学校待\(j-i+1\)个时间.现在最多能翘k节课,问最少能在学校待多少时间. 分析 将一天的内容视作一个背包的组,可以预处理出该天内 ...

  9. ac1067

    这题说的是 有n个点在 圆上等分这个圆,然后 然后计算其中任意三个点能组成的锐角三角形的个数 首先这些点能组成的三角形的个数为 n*(n-1)*(n-2)/6  接下来计算不是锐角三角形的个数 固定任 ...

  10. [转]使用C#开发ActiveX控件全攻略

    前言: 这段时间因为工作的需要,研究了一下ActiveX控件.总结如下: 先说说ActiveX的基本概念. 根据微软权威的软件开发指南MSDN(Microsoft Developer Network) ...