视觉SLAM 14讲中cere拟合曲线代码报错:
/usr/bin/x86_64-linux-gnu-ld: /usr/local/lib/libceres.a(coordinate_descent_minimizer.cc.o): undefined reference to symbol 'omp_get_num_threads@@OMP_1.0'
//usr/lib/x86_64-linux-gnu/libgomp.so.1: 无法添加符号: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/curve_fitting.dir/build.make:134: recipe for target 'curve_fitting' failed
make[2]: *** [curve_fitting] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/curve_fitting.dir/all' failed
make[1]: *** [CMakeFiles/curve_fitting.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
解决方法:
在CMakeList中添加:
FIND_PACKAGE( OpenMP REQUIRED)
if(OPENMP_FOUND)
message("OPENMP FOUND")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()