当前位置: 首页 > 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.dtcms.com/a/289716.html

相关文章:

  • 分享一款免费好用的电视远程推送传输助手TV版软件
  • week4
  • 游戏剧情抄袭侵权比对报告:防止“爆款”变“爆雷”
  • 【分布式 ID】详解百度 uid-generator(源码篇)
  • 【每日算法】专题十_哈希表
  • 代码随想录-250720-划分字母区间
  • 什么是 Linux 发行版?什么是 Linxu 操作系统?
  • python字符串的讲解和应用
  • kotlin Flow快速学习2025
  • Function Callingの进化路:源起篇
  • (5)从零开发 Chrome 插件:Vue3 Chrome 插件待办事项应用
  • 7.20 树hash |字典树模板❗
  • LangChain4j多模型共存+整合SpringBoot
  • springboot websocket 自动重启方案
  • SpringBoot3集成MapstructPlus
  • 抓包工具使用教程
  • 网安-文件上传-upload-labs
  • Laravel 原子锁概念讲解
  • jdk各个版本特性
  • Linux 基础文件IO操作
  • 零基础学习性能测试第一章:核心性能指标-并发量
  • Node.js 中基于请求 ID 实现简单队列(即时阻止策略/排队等待策略)
  • DMZ网络
  • (1)Windows环境下安装Oracle
  • Vue3 Proxy 数据劫持为什么比Object.defineProperty() Vue2数据劫持的性能更好
  • 人工智能训练师三级实操题第一部分数据处理
  • shell 脚本基础学习
  • Java中的intern()方法
  • 全新安装Proxmox VE启动时卡在Loading initial ramdisk
  • RAII机制以及在ROS的NodeHandler中的实现