关于未定义的引用,解决思路

首先,看看cmakelist里面软链接的库地址有没有问题

set( THIRD_PARTY_LIBS
        ${OpenCV_LIBS}
        ${GLOG_LIBRARY}
        ${Pangolin_LIBRARIES}
        ${PROJECT_SOURCE_DIR}/thirdparty/g2o/lib/libg2o${CMAKE_SHARED_LIBRARY_SUFFIX}
        ${PROJECT_SOURCE_DIR}/thirdparty/DBoW3/build/src/libDBoW3${CMAKE_SHARED_LIBRARY_SUFFIX}
     
        ${LIBZIP_LIBRARY}
)
///打印
message(STATUS "========"${PROJECT_SOURCE_DIR}/thirdparty/DBoW3/build/src/libDBoW3${CMAKE_SHARED_LIBRARY_SUFFIX})

在终端得到打印的log

-- ========/home/bobo/dso/thirdparty/DBoW3/build/src/libDBoW3.so

ls一下地址,发现没问题

ls -l /home/bobo/dso/thirdparty/DBoW3/build/src/libDBoW3.so
lrwxrwxrwx 1 bobo bobo 15 118 00:49 /home/bobo/dso/thirdparty/DBoW3/build/src/libDBoW3.so -> libDBoW3.so.0.0
bobo@bobo:~/dso/build$ ls -l /home/bobo/dso/thirdparty/DBoW3/build/src/libDBoW3.so.0.0
lrwxrwxrwx 1 bobo bobo 17 118 00:49 /home/bobo/dso/thirdparty/DBoW3/build/src/libDBoW3.so.0.0 -> libDBoW3.so.0.0.1
bobo@bobo:~/dso/build$ ls -l /home/bobo/dso/thirdparty/DBoW3/build/src/libDBoW3.so.0.0.1
-rwxrwxr-x 1 bobo bobo 231712 118 00:49 /home/bobo/dso/thirdparty/DBoW3/build/src/libDBoW3.so.0.0.1

然后,发现是cmakelist里面THIRD_PARTY_LIBS,没有把它放入 target_link_libraries里面!!!!

set( THIRD_PARTY_LIBS   //这个!的问题!!!
        ${OpenCV_LIBS}
        ${GLOG_LIBRARY}
        ${Pangolin_LIBRARIES}
        ${PROJECT_SOURCE_DIR}/thirdparty/g2o/lib/libg2o${CMAKE_SHARED_LIBRARY_SUFFIX}
        ${PROJECT_SOURCE_DIR}/thirdparty/DBoW3/build/src/libDBoW3${CMAKE_SHARED_LIBRARY_SUFFIX}
     
        ${LIBZIP_LIBRARY}
)
    target_link_libraries(dso_dataset dso boost_system cxsparse ${BOOST_THREAD_LIBRARY} ${LIBZIP_LIBRARY} ${Pangolin_LIBRARIES} ${OpenCV_LIBS} ${THIRD_PARTY_LIBS})

为什么我会出现这样的问题呢,因为我是复制的LDSO中的set( THIRD_PARTY_LIBS…)他的THIRD_PARTY_LIBS没有写在同一个文件里
他的cmakelist文件底端还有这两句话!

add_subdirectory(src)
add_subdirectory(examples)

使用命令行也可以找到THIRD_PARTY_LIBS都在哪里出现过 grep -rl “THIRD_PARTY_LIBS” ./|grep CMakeLists.txt

bobo@bobo:~/LDSO$ grep -rl "THIRD_PARTY_LIBS" ./|grep CMakeLists.txt
./CMakeLists.txt
./examples/CMakeLists.txt
./src/CMakeLists.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值