zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    attachEvent 中this指向
    JS window.name跨域封装
    【javascript基础】8、闭包
    【javascript基础】7、继承
    【javascript基础】6、new与构造函数
    【javascript基础】5、创建对象
    【javascript基础】4、原型与原型链
    【javascript基础】3、变量和作用域
    【javascript基础】2、函数
    【javascript基础】1、基本概念
  • 原文地址:https://www.cnblogs.com/dakewei/p/8421763.html
Copyright © 2011-2022 走看看