Ubuntu14.04运行lsdslam

Posted 1228073191blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu14.04运行lsdslam相关的知识,希望对你有一定的参考价值。

前序的工作和该博主完全一致:

https://blog.csdn.net/softimite_zifeng/article/details/78632506

 

出现的问题:

已解决:raise Exception(r"""quotes not allowed in description string ‘%s‘""" % description)

不应该在描述中出现引号(单引号或双引号),可以通过查看错误内容得知需要修改的文件名:

1) lsd_slam_viewer/cfg/LSDSLAMViewerParams.cfg

第20行scaledDepthVarTH:单词 points和keyframes 中出现了单引号,删除单引号

第21行absDepthVarTH:单词 points

第24行cutFirstNKf:单词 keyframes

 

2) lsd_slam_core/cfg/LSDDebugParams.cfg

第11行plotStereoImages:单词 whats

第12行plotTracking:单词 whats

第48行continuousPCOutput:单词 Keyframs

 

 

之后,

出现新的问题:

 main_stitchVideos.cpp:(.text+0x8f30): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0x8fc9): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0x8fdb): undefined reference to `cv::String::deallocate()‘

  CMakeFiles/videoStitch.dir/src/main_stitchVideos.cpp.o: In function `inlayVid(int, char**)‘:

  main_stitchVideos.cpp:(.text+0x9c62): undefined reference to `cv::imread(cv::String const&, int)‘

  main_stitchVideos.cpp:(.text+0x9c6a): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0x9cb3): undefined reference to `cv::imread(cv::String const&, int)‘

  main_stitchVideos.cpp:(.text+0x9cbd): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0x9d02): undefined reference to `cv::imread(cv::String const&, int)‘

  main_stitchVideos.cpp:(.text+0x9d0c): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0x9d5a): undefined reference to `cv::imread(cv::String const&, int)‘

  main_stitchVideos.cpp:(.text+0x9d67): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0x9db1): undefined reference to `cv::imread(cv::String const&, int)‘

  main_stitchVideos.cpp:(.text+0x9dbe): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0xa629): undefined reference to `cv::String::allocate(unsigned long)‘

  main_stitchVideos.cpp:(.text+0xa654): undefined reference to `cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)‘

  main_stitchVideos.cpp:(.text+0xa661): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0xa6c6): undefined reference to `cv::String::allocate(unsigned long)‘

  main_stitchVideos.cpp:(.text+0xa6e7): undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)‘

  main_stitchVideos.cpp:(.text+0xa6f4): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0xaec5): undefined reference to `cv::String::allocate(unsigned long)‘

  main_stitchVideos.cpp:(.text+0xaee8): undefined reference to `cv::String::allocate(unsigned long)‘

  main_stitchVideos.cpp:(.text+0xaf08): undefined reference to `cv::String::allocate(unsigned long)‘

  main_stitchVideos.cpp:(.text+0xaf28): undefined reference to `cv::String::allocate(unsigned long)‘

  main_stitchVideos.cpp:(.text+0xaf46): undefined reference to `cv::String::allocate(unsigned long)‘

  main_stitchVideos.cpp:(.text+0xb146): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0xb1e2): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0xb20e): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0xb23f): undefined reference to `cv::String::deallocate()‘

  main_stitchVideos.cpp:(.text+0xb270): undefined reference to `cv::String::deallocate()‘

  CMakeFiles/videoStitch.dir/src/main_stitchVideos.cpp.o:main_stitchVideos.cpp:(.text+0xb33e): more undefined references to `cv::String::deallocate()‘ follow

  collect2: error: ld returned 1 exit status

  make[3]: *** [../bin/videoStitch] Error 1

  make[3]: Leaving directory `/home/zc/rosbuild_ws/package_dir/lsd_slam/lsd_slam_viewer/build‘

  make[2]: *** [CMakeFiles/videoStitch.dir/all] Error 2

  make[2]: Leaving directory `/home/zc/rosbuild_ws/package_dir/lsd_slam/lsd_slam_viewer/build‘

  make[1]: *** [all] Error 2

  make[1]: INTERNAL: Exiting with 3 jobserver tokens available; should be 2!

  make[1]: Leaving directory `/home/zc/rosbuild_ws/package_dir/lsd_slam/lsd_slam_viewer/build‘

-------------------------------------------------------------------------------}

 

好像是因为opencv版本的问题,

pkg-config --modversion opencv

查看后发现是3.1.0

想办法解决。

找到了:

https://www.cnblogs.com/cc111/p/9382694.html

解决:   在lsd_slam_viewer中的CMAKELISTS.txt的最后加上:
    find_package(OpenCV REQUIRED) 
    rosbuild_add_executable(videoStitch src/main_stitchVideos.cpp)
    target_link_libraries(videoStitch ${OpenCV_LIBS})    

 

以上是关于Ubuntu14.04运行lsdslam的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 14.04 的 OpenCV 3.1.0 中缺少文件

Ubuntu 14.04 安装 Sublime Text 3

在 ubuntu 14.04 上安装 tkinter

Eclipse 未在 Ubuntu 14.04 上运行

在 ubuntu 14.04 中安装 libimobiledevice 时出错

在 Ubuntu 14.04 上使用 python 读取音频时出错