当前位置: 首页 > news >正文

xavier nx上编译fast-livo过程中出现的问题记录

编译开始要参考这个网站来编译

文档预览 - Gitee.com

坐着貌似实在nuc上编译的,本人是在xavier nx上编译的,所以还是有点差异,也遇到了网页中所没有遇到的问题。现在把解决问题的列表列出来:

一、安装了海康相机后,再安装fast-lio等用到pcl库的工程,就一直出现liuusb错误。

/usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libpcl_io.so: undefined reference to `libusb_set_option'

尝试了各种链接,最后用这一个解决了。

libpcl_io.so: undefined reference to `libusb_set_option'报错解决 | 文锦落

就是直接把mvs中的libusb直接删了

二、编译的时候,出现了“c++: fatal error: Killed signal terminated program cc1plus“,个人感觉,应该是编译的时候太占内存了,内存不够了。

解决方法:关掉网页,关掉vscode

三、编译vikit库的时候,出现了

cc1plus: error: unknown value ‘armv7-a’ for ‘-march’
cc1plus: note: valid arguments are: armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a armv8.5-a native; did you mean ‘armv8-a’?

打开vikit工程中的common的文件夹中的CMakeLists.txt,改成这个样子

# Set build flags. Set IS_ARM on odroid board as environment variable
SET(CMAKE_CXX_FLAGS "-Wall -D_LINUX -D_REENTRANT -march=native -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas")
#IF(DEFINED ENV{ARM_ARCHITECTURE})SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a")
#  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=neon -march=armv7-a")
#ELSE()
#  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmmx -msse -msse -msse2 -msse3 -mssse3")

四、opencv的问题

/home/slamugv/ws_fastlivo/src/rpg_vikit/vikit_common/src/pinhole_camera.cpp:112:59: error: ‘CV_INTER_LINEAR’ was not declared in this scope112 |     cv::remap(raw, rectified, undist_map1_, undist_map2_, CV_INTER_LINEAR);|                                                           ^~~~~~~~~~~~~~~
/home/slamugv/ws_fastlivo/src/rpg_vikit/vikit_common/src/homography.cpp: In member function ‘void vk::Homography::calcFromMatches()’:
/home/slamugv/ws_fastlivo/src/rpg_vikit/vikit_common/src/homography.cpp:48:54: error: ‘CV_RANSAC’ was not declared in this scope48 |   cv::Mat cvH = cv::findHomography(src_pts, dst_pts, CV_RANSAC, 2./error_multiplier2);|                                                      ^~~~~~~~~
/home/slamugv/ws_fastlivo/src/rpg_vikit/vikit_common/src/img_align.cpp: In member function ‘virtual void vk::ForwardCompositionalSE3::finishIteration()’:
/home/slamugv/ws_fastlivo/src/rpg_vikit/vikit_common/src/img_align.cpp:237:34: error: ‘CV_WINDOW_AUTOSIZE’ was not declared in this scope237 |     cv::namedWindow("residuals", CV_WINDOW_AUTOSIZE);|                                  ^~~~~~~~~~~~~~~~~~
/home/slamugv/ws_fastlivo/src/rpg_vikit/vikit_common/src/img_align.cpp: In member function ‘virtual void vk::SecondOrderMinimisationSE3::finishIteration()’:
/home/slamugv/ws_fastlivo/src/rpg_vikit/vikit_common/src/img_align.cpp:437:34: error: ‘CV_WINDOW_AUTOSIZE’ was not declared in this scope437 |     cv::namedWindow("residuals", CV_WINDOW_AUTOSIZE);

也好改:

CV_INTER_LINEAR     ---->cv::INTER_LINEAR 
CV_WINDOW_AUTOSIZE  ---->cv::WINDOW_AUTOSIZE
CV_RANSAC           ---->cv::RANSAC  

五、编译这个fast-livo这个程序的时候,仍然出现了/usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/libpcl_io.so: undefined reference to `libusb_set_option'的问题,解决方法就是:

在.bashrc这个文件最末尾加上

export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:$LD_LIBRARY_PATH

然后

source ~/.bashrc

六、再次编译fast-livo库,编译就成功了。

http://www.xdnf.cn/news/1158319.html

相关文章:

  • C++现代编程之旅:从基础语法到高性能应用开发
  • 【GameMaker】GML v3 的现行提案
  • Numpy库,矩阵形状与维度操作
  • (5)从零开发 Chrome 插件:Vue3 Chrome 插件待办事项应用
  • Vue3.6 无虚拟DOM模式
  • An End-to-End Attention-Based Approach for Learning on Graphs NC 2025
  • 线程(一):基本概念
  • 让黑窗口变彩色:C++控制台颜色修改指南
  • week4
  • 内网后渗透攻击过程(实验环境)--3、横向攻击
  • MES系列 - MES是提升制造执行效率与透明度的关键系统
  • 【自动驾驶黑科技】基于Frenet坐标系的车道变换轨迹规划系统实现(附完整代码)
  • 多目标轨迹优化车道变换规划:自动驾驶轨迹规划新范式:基于Frenet坐标系的车道变换算法全解析
  • 枪战验证系统:通过战斗证明你是人类
  • 单片机启动流程和启动文件详解
  • [Linux]进程 / PID
  • [硬件电路-57]:根据电子元器件的受控程度,可以把电子元器件分为:不受控、半受控、完全受控三种大类
  • 非线性优化框架CasADi工具箱求解最优控制问题OCP
  • 什么是卡贴???
  • 零基础学习性能测试第一章:核心性能指标-并发量
  • 简洁高效的C++终端日志工具类
  • 2.组合式API知识点(1)
  • Dev-C++——winAPI贪吃蛇小游戏
  • Softhub软件下载站实战开发(十九):软件信息展示
  • 让不符合要求的任何电脑升级Windows11
  • 2025.7.20总结-实战演讲
  • 2025年03月20日中软(外包中控)
  • 30天打牢数模基础-卷积神经网络讲解
  • 《P3398 仓鼠找 sugar》
  • 基于深度学习的目标检测:从基础到实践