Cartographer編譯時的乙個錯誤

2021-09-12 17:41:45 字數 2029 閱讀 1754

執行

catkin_make_isolated --install --use-ninja
結果:

==> ninja -j8 -l8 in '/home/jason/project/catkin_ws/build_isolated/ceres-solver/install'

[306/323] linking c executable bin/curve_fitting_c

failed: : && /usr/bin/cc -fopenmp -o3 -dndebug  -rdynamic examples/cmakefiles/curve_fitting_c.dir/curve_fitting.c.o  -o bin/curve_fitting_c -l/usr/lib/llvm-3.8/lib -wl,-rpath,/usr/local/lib lib/libceres.a -lm /usr/local/lib/libglog.so /usr/local/lib/libgflags.a -lspqr -ltbb -ltbbmalloc -lcholmod -lccolamd -lcamd -lcolamd -lamd -llapack -lf77blas -latlas -lsuitesparseconfig -lrt -lcxsparse -llapack -lf77blas -latlas -lsuitesparseconfig -lrt -lcxsparse -lpthread -lstdc++ -lm && :

lib/libceres.a(gradient_checker.cc.o):在函式『void eigen::internal::parallelize_gemm, eigen::matrix, eigen::matrix, eigen::matrix, eigen::internal::gemm_blocking_space<0, double, double, -1, -1, -1, 1, false> >, long>(eigen::internal::gemm_functor, eigen::matrix, eigen::matrix, eigen::matrix, eigen::internal::gemm_blocking_space<0, double, double, -1, -1, -1, 1, false> > const&, long, long, bool)』中:

/home/jason/project/catkin_ws/src/ceres-solver/internal/ceres/gradient_checker.cc:(.text._zn5eigen8internal16parallelize_gemmilb1ens0_12gemm_functoridlns0_29general_matrix_matrix_productildli1elb0edli1elb0eli0eeens_6matrixidlin1elin1eli1elin1elin1eees6_ns5_idlin1elin1eli0elin1elin1eeens0_19gemm_blocking_spaceili0eddlin1elin1elin1eli1elb0eeeeeleevrkt0_t1_se_b[_zn5eigen8internal16parallelize_gemmilb1ens0_12gemm_functoridlns0_29general_matrix_matrix_productildli1elb0edli1elb0eli0eeens_6matrixidlin1elin1eli1elin1elin1eees6_ns5_idlin1elin1eli0elin1elin1eeens0_19gemm_blocking_spaceili0eddlin1elin1elin1eli1elb0eeeeeleevrkt0_t1_se_b]+0x25):對『__kmpc_global_thread_num』未定義的引用

這個__kmpc_global_thread_num是openmp中的。

把ceres_solver資料夾下的cmakelists.txt中的

option(openmp "enable threaded solving in ceres (requires openmp)" on)修改為off即可。

這是乙個繞過問題的方法,實際上openmp已經裝了,也檢測到了,但不知道為什麼總有問題。

cartographer 安裝編譯

ubuntu16.04 環境依賴 sudo apt get install y clang g git google mock libboost all dev libcairo2 dev libcurl4 openssl dev libeigen3 dev libgflags dev libgoo...

ros編譯執行Cartographer演算法

google的cartographer演算法現在還在不斷更新,如果想使用的話選取乙個release版本,最好選取舊的版本,新的版本都沒人趟過,都是雷和眼淚 這裡面有舊的 共享目錄 需要安裝三個軟體包cartographer,cartographer ros,ceres solver 安裝依賴 sud...

cartographer執行步驟

先驅動雷達 roslaunch rslidar pointcloud rs lidar 16.launch 再執行pointcloud to laserscan節點將三維資料轉化成二維 roslaunch pointcloud to laserscan point to scan.launch 最後...