github上下载DynaSLAM编译遇到的坑:在函数‘_start’中: (.text+0x20):对‘main’未定义的引用

笔者按照下面两篇文章
第一篇
第二篇
编译DynaSLAM时,前面各种环境配置的都没问题,最后执行./build.sh时,程序中间报如下错误

[ 75%] Linking CXX executable ../Examples/Monocular/mono_carla
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o:在函数‘_start’中:
(.text+0x20):对‘main’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/mono_carla.dir/build.make:114: recipe for target '../Examples/Monocular/mono_carla' failed
make[2]: *** [../Examples/Monocular/mono_carla] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/mono_carla.dir/all' failed
make[1]: *** [CMakeFiles/mono_carla.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....

在网上搜了好长时间没找到好的解决办法,最终阅读CMakeLists.txt文件时找到错误所在。
下载的源码包中CMakeLists.txt最后几行有:
add_executable(mono_carla
Examples/Monocular/mono_carla.cc)
target_link_libraries(mono_carla ${PROJECT_NAME})
但是路径 “Examples/Monocular/” 下面根本就没有 mono_carla.cc 这个文件,导致编译一直不通过!!!

解决办法:直接将这三行注释,再重新编译即可。

你可能感兴趣的:(github上下载DynaSLAM编译遇到的坑:在函数‘_start’中: (.text+0x20):对‘main’未定义的引用)