SLAM十四讲中的第五讲点云拼接

SLAM十四讲中的第五讲点云拼接,第1张

SLAM十四讲中的第五讲点云拼接错误解决

出现错误

CMakeFiles/joinMap.dir/joinMap.cpp.o:在函数‘showPointCloud(std::vector, Eigen::aligned_allocator > > const&)’中:
joinMap.cpp:(.text+0xcd):对‘pangolin::CreateWindowAndBind(std::__cxx11::basic_string, int, int, pangolin::Params const&)’未定义的引用
joinMap.cpp:(.text+0x1a8):对‘pangolin::ModelViewLookAt(double, double, double, double, double, double, double, double, double)’未定义的引用
joinMap.cpp:(.text+0x1e8):对‘pangolin::ProjectionMatrix(int, int, double, double, double, double, double, double)’未定义的引用
joinMap.cpp:(.text+0x1f6):对‘pangolin::OpenGlRenderState::OpenGlRenderState(pangolin::OpenGlMatrix const&, pangolin::OpenGlMatrix const&)’未定义的引用
joinMap.cpp:(.text+0x1fb):对‘pangolin::CreateDisplay()’未定义的引用
joinMap.cpp:(.text+0x252):对‘pangolin::View::SetBounds(pangolin::Attach, pangolin::Attach, pangolin::Attach, pangolin::Attach, double)’未定义的引用
joinMap.cpp:(.text+0x27f):对‘pangolin::Handler3D::Handler3D(pangolin::OpenGlRenderState&, pangolin::AxisDirection, float, float)’未定义的引用
joinMap.cpp:(.text+0x28a):对‘pangolin::View::SetHandler(pangolin::Handler*)’未定义的引用
joinMap.cpp:(.text+0x299):对‘pangolin::ShouldQuit()’未定义的引用
joinMap.cpp:(.text+0x2b6):对‘pangolin::View::Activate(pangolin::OpenGlRenderState const&) const’未定义的引用
joinMap.cpp:(.text+0x346):对‘pangolin::FinishFrame()’未定义的引用
CMakeFiles/joinMap.dir/joinMap.cpp.o:在函数‘pangolin::GlTexture::~GlTexture()’中:
joinMap.cpp:(.text._ZN8pangolin9GlTextureD2Ev[_ZN8pangolin9GlTextureD5Ev]+0x25):对‘pangolin::ShouldQuit()’未定义的引用
CMakeFiles/joinMap.dir/joinMap.cpp.o:在函数‘pangolin::GlTexture::Reinitialise(int, int, int, bool, int, unsigned int, unsigned int, void*)’中:
joinMap.cpp:(.text._ZN8pangolin9GlTexture12ReinitialiseEiiibijjPv[_ZN8pangolin9GlTexture12ReinitialiseEiiibijjPv]+0x12b):对‘pangolin::glErrorString(unsigned int)’未定义的引用
CMakeFiles/joinMap.dir/joinMap.cpp.o:在函数‘pangolin::GlTexture::~GlTexture()’中:
joinMap.cpp:(.text._ZN8pangolin9GlTextureD0Ev[_ZN8pangolin9GlTextureD5Ev]+0x29):对‘pangolin::ShouldQuit()’未定义的引用
CMakeFiles/joinMap.dir/joinMap.cpp.o:在函数‘void std::vector::_M_realloc_insert(__gnu_cxx::__normal_iterator >, Sophus::SE3 const&)’中:
joinMap.cpp:(.text.ZNSt6vectorIN6Sophus3SE3EN5Eigen17aligned_allocatorIS1_EEE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S5_EEDpOT[ZNSt6vectorIN6Sophus3SE3EN5Eigen17aligned_allocatorIS1_EEE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S5_EEDpOT]+0x78):对‘Sophus::SE3::SE3(Sophus::SE3 const&)’未定义的引用
joinMap.cpp:(.text.ZNSt6vectorIN6Sophus3SE3EN5Eigen17aligned_allocatorIS1_EEE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S5_EEDpOT[ZNSt6vectorIN6Sophus3SE3EN5Eigen17aligned_allocatorIS1_EEE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S5_EEDpOT]+0x9c):对‘Sophus::SE3::SE3(Sophus::SE3 const&)’未定义的引用
joinMap.cpp:(.text.ZNSt6vectorIN6Sophus3SE3EN5Eigen17aligned_allocatorIS1_EEE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S5_EEDpOT[ZNSt6vectorIN6Sophus3SE3EN5Eigen17aligned_allocatorIS1_EEE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S5_EEDpOT]+0xcc):对‘Sophus::SE3::SE3(Sophus::SE3 const&)’未定义的引用
CMakeFiles/joinMap.dir/joinMap.cpp.o:在函数‘main’中:
joinMap.cpp:(.text.startup+0x56f):对‘Sophus::SE3::SE3(Eigen::Quaternion const&, Eigen::Matrix const&)’未定义的引用
joinMap.cpp:(.text.startup+0x592):对‘Sophus::SE3::SE3(Sophus::SE3 const&)’未定义的引用
joinMap.cpp:(.text.startup+0x859):对‘Sophus::SE3::SE3(Sophus::SE3 const&)’未定义的引用
joinMap.cpp:(.text.startup+0x926):对‘Sophus::SE3::operator*(Eigen::Matrix const&) const’未定义的引用
CMakeFiles/joinMap.dir/joinMap.cpp.o:(.data.rel+0x0):对‘vtable for pangolin::HandlerScroll’未定义的引用
CMakeFiles/joinMap.dir/joinMap.cpp.o:(.data.rel+0x8):对‘vtable for pangolin::Handler’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/joinMap.dir/build.make:343: recipe for target ‘joinMap’ failed
make[2]: *** [joinMap] Error 1
CMakeFiles/Makefile2:67: recipe for target ‘CMakeFiles/joinMap.dir/all’ failed
make[1]: *** [CMakeFiles/joinMap.dir/all] Error 2
Makefile:129: recipe for target ‘all’ failed
make: *** [all] Error 2

CMakeliste.txt文件,改成下面的样子

cmake_minimum_required(VERSION 2.8)

project(joinMap)
set( CMAKE_BUILD_TYPE Release )
set( CMAKE_CXX_FLAGS "-std=c++11 -O3")

# 包含opencv库
find_package( OpenCV REQUIRED)
include_directories( ${OpenCV_INCLUDE_DIRS})

#包含eigen库
find_package( Eigen3 REQUIRED)
include_directories( "/usr/include/eigen3/" )
#pangolin

find_package(Pangolin)
include_directories( ${Pangolin_INCLUDE_DIRS} )

#Sophus
find_package(Sophus)
include_directories( "/usr/local/lib/" )

#包含pcl库
find_package( PCL REQUIRED  common io)
include_directories( ${PCL_INCLUDE_DIRS})
add_definitions( ${PCL_DEFINITIONS})
list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")
LINK_LIBRARIES(${PCL_LIBRARY_DIRS})
add_executable(joinMap joinMap.cpp)

target_link_libraries(joinMap ${OpenCV_LIBS} ${PCL_LIBRARIES} ${Pangolin_LIBRARIES} ${Sophus_LIBRARIES})
install(TARGETS joinMap RUNTIME DESTINATION bin)

出现错误

fatal error: sophus/se3.hpp: 没有那个文件或目录
#include
^~~~~~~~~~~~~~~~
compilation terminated.

将joinmap.cpp文件的头文件声明改称电脑中该文件的样子。

#include 
#include 
#include 
#include   // for formating strings
#include 
#include 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/874683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存