slam rangenet++在配置的过程中无报错,后续suma++也能正常运行而且能够打开可视化界面,但是没有出现devel/lib下的rangenet文件夹,导致无法使用预训练的模型也就无法完成后续可视化巩固走,请问该怎么办?谢谢,需要能实际解决问题的回答
找到了viz并且在正确的位置,但是没有定义
slam rangenet++在配置的过程中无报错,后续suma++也能正常运行而且能够打开可视化界面,但是没有出现devel/lib下的rangenet文件夹,导致无法使用预训练的模型也就无法完成后续可视化巩固走,请问该怎么办?谢谢,需要能实际解决问题的回答
引自免费微信小程序:皆我百晓生
针对您遇到的问题,SLAM Rangenet++配置过程中虽无报错,但缺少devel/lib
目录下的rangenet
文件夹,这可能导致无法使用预训练模型并影响后续的可视化。根据您提供的信息,这里给出一套可能的解决方案:
问题分析:
编译警告与缺失的rangenet
文件夹是否直接相关?
您提供的编译警告涉及NvInfer.h
中的函数被标记为TRT_DEPRECATED
。这些警告通常表示使用的接口已过时,但不会直接影响编译结果。因此,这些警告与您提到的devel/lib
下缺少rangenet
文件夹问题可能无关。
缺失的rangenet
文件夹问题:
根据您的描述,devel/lib
目录下存在其他相关的库文件(如librangenet_external.so
, librangenet_lib.so
等),但确实未见rangenet
文件夹。这可能是由于Rangenet++项目在编译时未正确生成或安装该文件夹及其内容。
解决步骤:
检查Rangenet++源码结构:
确认Rangenet++源码中是否存在名为rangenet
的子目录,以及该目录是否应包含需要编译的目标文件。如果是,检查CMakeLists.txt或相关构建脚本,确认是否正确处理了该目录的编译、链接和安装过程。
检查CMake配置及构建日志:
分析CMake配置和构建过程的日志,查找与rangenet
相关的目标(如库或可执行文件)是否成功编译,并检查它们是否被正确添加到安装目标中。如果未找到相关信息,可能存在CMake配置或Rangenet++源码中未正确处理该目录的问题。
手动编译和安装:
如果确认Rangenet++源码中确实有rangenet
子目录且应包含编译目标,尝试手动编译该目录下的源码,并将其安装到devel/lib
目录下。可以创建一个简单的CMakeLists.txt来编译该目录,并指定install()
命令将生成的文件安装到所需位置。
检查SUMA++依赖:
确认SUMA++是否确实依赖于devel/lib/rangenet
下的文件。如果依赖关系不明确,可能需要查阅SUMA++的文档或源码,了解其对Rangenet++的具体要求。
建议操作:
鉴于您提供的信息有限,以下是一些通用的排查步骤:
检查Rangenet++源码结构:
进入Rangenet++项目的源码目录,查看是否有名为rangenet
的子目录,以及该目录下是否包含应被编译的源文件(如.cpp
、.cu
等)。如果有,继续下一步;否则,可能需要从Rangenet++官方仓库获取完整的源码。
检查CMakeLists.txt:
在Rangenet++项目的根目录下找到CMakeLists.txt
文件,搜索其中与rangenet
子目录相关的编译、链接和安装规则。例如,查找add_library
、target_link_libraries
和install(TARGETS)
等命令。确认这些规则是否正确处理了rangenet
子目录及其内容。
重新编译Rangenet++: 如果发现CMakeLists.txt中有误或缺失相关规则,修复后重新编译Rangenet++:
cd ~/catkin_ws
catkin clean # 清除之前的编译结果
catkin build rangenet_lib # 仅编译rangenet_lib包
观察编译过程是否生成与rangenet
子目录相关的输出,以及devel/lib
目录下是否出现rangenet
文件夹。
报告问题或寻求官方支持: 如果以上步骤未能解决问题,可能是Rangenet++项目本身存在编译或安装问题。建议在Rangenet++的官方仓库(如GitHub)提交问题报告,详细描述您的环境、操作步骤和遇到的问题,请求项目维护者的帮助。
希望上述建议能帮助您解决当前遇到的问题。如果您能提供更多关于Rangenet++源码结构和CMake配置的详细信息,我将能提供更精确的指导。