undefined symbol: _ZNK5gtsam16NoiseModelFactor5printERKNSt7__cxx1112basic_stringIcSt11char_traitsIcE

博主分享了解决因多次编译导致gtsam库错误的方法,通过删除/usr/lib下的gtsam.so.4和metis.so文件,然后重新复制到正确路径,确保代码在Matlab中正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

undefined symbol: _ZNK5gtsam16NoiseModelFactor5printERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKN5boost8functionIFS6_mEEE

泪目,学点因子图各种错误,程序员真的好难。原因是多次编译gtsam的源文件,导致共享文件出问题了,删除以前的共享文件,然后重新添加新的即可。

如图上面所示,出现上述情况,大家删除/usr/lib下的两个文件,然后重新添加即可。

 

 代码如下:先到/usr/lib文件夹下打开终端

sudo su
rm -rf libgtsam.so.4 
rm -rf libmetis.so

然后在跑到/usr/local/lib下,把它们在复制到前面删除的地方

sudo su
cp libgtsam.so.4 /usr/lib
cp libmetis.so  /usr/lib

最后去matlab下测试一下:

 

完成

 

[lio_sam_imuPreintegration-2] restarting process process[lio_sam_imuPreintegration-2]: started with pid [3422775] [lio_sam_mapOptmization-5] restarting process process[lio_sam_mapOptmization-5]: started with pid [3422776] /home/wangbaihui/catkin_ws/devel/lib/lio_sam/lio_sam_imuPreintegration: symbol lookup error: /home/wangbaihui/catkin_ws/devel/lib/lio_sam/lio_sam_imuPreintegration: undefined symbol: _ZNK5gtsam16NoiseModelFactor5printERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKN5boost8functionIFS6_mEEE /home/wangbaihui/catkin_ws/devel/lib/lio_sam/lio_sam_mapOptmization: symbol lookup error: /home/wangbaihui/catkin_ws/devel/lib/lio_sam/lio_sam_mapOptmization: undefined symbol: _ZNK5gtsam16NoiseModelFactor5printERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKN5boost8functionIFS6_mEEE : No such file or directory process[lio_sam_featureExtraction-4]: started with pid [3424935] [lio_sam_mapOptmization-5] restarting process /home/wangbaihui/catkin_ws/devel/lib/lio_sam/lio_sam_featureExtraction: error while loading shared libraries: libxmlrpcpp.so: cannot open shared object file: No such file or directory process[lio_sam_mapOptmization-5]: started with pid [3424936] [robot_state_publisher-6] restarting process /home/wangbaihui/catkin_ws/devel/lib/lio_sam/lio_sam_mapOptmization: error while loading shared libraries: libtf2_ros.so: cannot open shared object file: No such file or directory /opt/ros/noetic/lib/robot_state_publisher/robot_state_publisher: error while loading shared libraries: libjoint_state_listener.so: cannot open shared object file: No such file or directory process[robot_state_publisher-6]: started with pid [3424937] [ekf_gps-7] restarting process ^Cexception in shutdown_process_monitor: cannot join current thread Traceback (most recent call last): File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/pmon.py", line 115, in shutdown_process_monitor process_monitor.join(20.0) File "/usr/lib/python3.8/threading.py", line 1008, in join raise RuntimeError("cannot join current thread") RuntimeError: cannot join current thread process[ekf_gps-7]: started with pid [3424938] /opt/ros/noetic/lib/robot_localization/ekf_localization_node: error while loading shared libraries: libros_filter.so: cannot open shared object file: No such file or directory
最新发布
07-02
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

男人黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值