基于Ubuntu18.04 OKVIS安装、编译与运行

更新安装源

sudo apt-get update
sudo apt-get upgrade

2 安装依赖项

sudo apt-get install cmake
sudo apt-get install libgoogle-giog-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libeigen3-dev
 sudo apt-get install libsuitesparse-dev
 sudo apt-get install libboost-dev libboost-filesystem-dev

3 因为我们要在github克隆代码,先换源解决代码克隆慢的问题

首先进入这个网站https://www.ipaddress.com/ 查询www.github.com的ip地址:

查询到 ip地址为 140.82.114.4;  (可能不一样,以自己查到的为准)

第二步修改hosts文件:

sudo gedit /etc/hosts

在文件里加上   140.82.114.4 github.com 

第三步:刷新DNS

sudo /etc/init.d/networking restart

4 下载数据库

sudo apt install git
git clone https://github.com/ethz-asl/libvisensor.git
cd libvisensor
 ./install_libvisensor.sh

如果提示,找不到boost_thread 和boost_system这两个库,是下载的boost库有问题,

找到boost库的安装位置(locate boost_thread命令来查找),

我这里boost_thread缺少了一个静态库.so,导致动态库.so.1.65.1无法链接,解决办法是:

创建这个链接:

sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 /usr/lib/x86_64-linux-gnu/libboost_thread.so

重新执行安装命令,即可。

5 下载安装OKVIS

wget https://www.doc.ic.ac.uk/~sleutene/software/okvis-1.1.3.zip
unzip okvis-1.1.3.zip && rm okvis-1.1.3.zip
cd okvis
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j8

问题1。

在第5步,有一些库没有找到,进行安装:

sudo apt-get install libtbb-dev
 sudo apt-get install libmetis-dev
sudo apt-get install libsuitesparse-dev
sudo apt-get install libcxsparse3

问题在于 前两个库安装好之后都可以找到,最后两个库安装好,程序找不到,因此选择安装ceres.1.13.0,我在安装好这个之后,libsuitesparse可以找到,但是cxsparse依然无法找到,因为Cmakelists.txt里这个是可选的,因此将它注释掉。

补充: 安装ceres.solver1.13.0

去这个网址:https://github.com/ceres-solver/ceres-solver

tag里选择下载1.13.0 tar.gz版本。

//安装依赖项
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev
//下载
tar -zxvf ceres-solver-1.13.0.tar.gz 
cd ceres-solver-1.13.0/
mkdir build
cd build/
cmake ..
make
make -j8
 sudo make install

第二个问题: 在make -j8编译这里,出现了 chunk这个错误,需要将gcc g++版本回退到6的版本,(其他解决办法暂未找到)

sudo apt-get install gcc-6 g++-6
ls /usr/bin/g++*
export CC=/usr/bin/gcc-6
export CXX=/usr/bin/g++-6

因为编译器换了,所以okvis删掉build文件重新进行编译,编译成功。

6。运行

下载数据集:

下载数据集(链接: https://pan.baidu.com/s/1i4W2is1 密码: 269k),注意是压缩包格式的那个,以下载的是MH_01_easy.zip,解压后是mav0,与okvis安装在同一级文件夹下,而不是在okvis里边。

在okvis/build目录中运行:

./okvis_app_synchronous path/to/okvis/config/config_fpga_p2_euroc.yaml path/to/MH_01_easy/mav0/(自己添加路径)
//示例:
./okvis_app_synchronous /home/he/Okvis/okvis/config/config_fpga_p2_euroc.yaml /home/he/Okvis/mav0/

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在Ubuntu 18.04上安装编译环境非常简单,以下是详细的步骤: 1. 打开终端,使用以下命令更新系统软件包列表: ``` sudo apt update ``` 2. 确保系统已安装编译所需的基本工具和库文件,使用以下命令进行安装: ``` sudo apt install build-essential ``` 这将安装gcc、g++和make等工具,以及一些常用库文件。 3. 安装编译所需的其他依赖库,根据您需要编译的软件不同,安装的依赖库也会不同。一般来说,您只需要在终端中运行以下命令: ``` sudo apt install <dependency> ``` 将`<dependency>`替换为您需要安装的具体依赖库的名称。您可以在软件的官方文档或README文件中找到所需的依赖库列表。 4. 如果您需要在编译过程中使用其他开发工具或库文件,您也可以使用`apt`包管理器进行安装。例如,安装Java开发环境(JDK),可以运行以下命令: ``` sudo apt install default-jdk ``` 这将安装默认版本的JDK。 5. 安装编译环境后,您可以使用gcc编译C语言程序,使用g++编译C++语言程序。例如,要编译名为`hello.c`的C语言程序,可以运行以下命令: ``` gcc -o hello hello.c ``` 这将生成可执行文件`hello`。 6. 最后,您可以通过运行以下命令来执行编译后的程序: ``` ./hello ``` 确保您在运行可执行文件之前,进入到该文件所在的目录。 这些步骤将帮助您在Ubuntu 18.04上安装编译环境,并准备好编译运行程序。根据您的需求,您还可以进一步安装其他开发工具和库文件。 ### 回答2: 编译环境是指能够进行源代码编译和生成可执行文件的一组软件工具。在Ubuntu 18.04上安装编译环境需要执行以下步骤: 1. 打开终端,并使用以下命令更新软件包列表: ```shell sudo apt update ``` 2. 安装基本编译工具,包括gcc、g++和make: ```shell sudo apt install build-essential ``` 3. 安装其他常用的编译工具,如git和cmake: ```shell sudo apt install git cmake ``` 4. 安装特定语言的编译器,如Java的OpenJDK: ```shell sudo apt install openjdk-8-jdk ``` 5. 安装特定库和开发包,根据自己的需要安装不同的库和开发包,例如OpenGL库和Python开发包: ```shell sudo apt install libgl1-mesa-dev python-dev ``` 6. 验证安装。使用以下命令验证编译环境是否安装成功: ```shell gcc --version g++ --version make --version ``` 以上步骤完成后,您的Ubuntu 18.04系统就已经具备了完整的编译环境。您可以使用这些工具编译和构建各种源代码,并生成可执行文件。根据不同的需求,您还可以进一步安装其他特定的开发工具和库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值