orb_slam2时遇到c++: error: /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.4.2.0: 没有那个文件或目录
时间: 2023-10-26 16:31:54 浏览: 165
这个错误提示是因为编译器找不到名为libopencv_calib3d.so.4.2.0的动态链接库文件。解决方法是安装缺失的库文件或者将该库文件路径添加到LD_LIBRARY_PATH环境变量中。您可以尝试以下命令来安装该库文件:
sudo apt-get install libopencv-dev
如果您仍然遇到问题,请尝试在编译时使用正确的OpenCV版本。
相关问题
terminate called after throwing an instance of 'c10::Error' what(): isTuple() INTERNAL ASSERT FAILED at "/home/li/slam2yolo5add/Thirdparty/libtorch/include/ATen/core/ivalue_inl.h":838, please report a bug to PyTorch. Expected Tuple but got GenericList Exception raised from toTuple at /home/li/slam2yolo5add/Thirdparty/libtorch/include/ATen/core/ivalue_inl.h:838 (most recent call first): frame #0: c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) + 0x69 (0x7fd6886e4eb9 in /home/li/slam2yolo5add/Thirdparty/libtorch/lib/libc10.so) frame #1: ORB_SLAM2::YoloDetection::Detect() + 0x1256 (0x7fd6de295fd6 in /home/li/slam2yolo5add/lib/libORB_SLAM2.so) frame #2: ORB_SLAM2::YoloDetection::Run() + 0x8c (0x7fd6de29689c in /home/li/slam2yolo5add/lib/libORB_SLAM2.so) frame #3: <unknown function> + 0xbd6df (0x7fd6894716df in /usr/lib/x86_64-linux-gnu/libstdc++.so.6) frame #4: <unknown function> + 0x76db (0x7fd6884826db in /lib/x86_64-linux-gnu/libpthread.so.0) frame #5: clone + 0x3f (0x7fd688ecc61f in /lib/x86_64-linux-gnu/libc.so.6)
这个错误提示表明在代码的某个地方发生了一个断言错误。具体地,这个错误发生在`/home/li/slam2yolo5add/Thirdparty/libtorch/include/ATen/core/ivalue_inl.h`文件的第838行,断言失败的条件是期望得到一个Tuple类型的对象,但实际得到的是一个GenericList类型的对象。
这个错误是由于程序在使用PyTorch的IValue类型对象时发生了类型错误。可能的原因是你的代码期望得到一个Tuple对象,但实际传入的是一个GenericList对象。
要解决这个问题,你需要检查代码中涉及到IValue对象的地方,确保正确使用了Tuple和GenericList类型。确保你的代码与PyTorch版本兼容,并遵循正确的API使用方式。
如果问题仍然存在,建议向PyTorch的官方Bug报告渠道提交一个Bug报告,以便他们能够提供更具体的帮助和解决方案。
[ 29%] Built target g2o make[2]: *** 没有规则可制作目标“/usr/lib/x86_64-linux-gnu/libGL.so”,由“/home/zh/slam_code/ORB_SLAM3-master/lib/libORB_SLAM3.so” 需求。 停止。 CMakeFiles/Makefile2:147: recipe for target 'CMakeFiles/ORB_SLAM3.dir/all' failed
这个错误是由于链接器找不到 libGL.so 库文件导致的。你可以尝试安装 libgl1-mesa-dev 包来解决这个问题。在 Ubuntu 上,你可以执行以下命令来安装它:
```
sudo apt-get install libgl1-mesa-dev
```
如果你使用的是其他 Linux 发行版,请查看其对应的包管理器来安装相应的库文件。
阅读全文