在运行依赖Gtsam的工程时报错:undefined symbol: _ZNK5gtsam16NoiseModelFactor5printERKNSt7__cxx1112basic_stringIcSt11char_traitsIcE
解决方案:参考文章
按上述文章,报错原因可能是多次编译gtsam的源文件,导致共享文件出问题了,删除以前的共享文件,然后重新添加新的即可。
具体为删除下的两个文件并从/usr/local/lib下重新复制粘贴到/usr/lib下。
cd /usr/lib
sudo rm -rf libgtsam.so.4
sudo rm -rf libmetis.so
cd /usr/local/lib
sudo cp libgtsam.so.4 /usr/lib
sudo cp libmetis.so /usr/lib
随后重新自己的Gtsam库。
具体为在Gtsam工作空间的build文件夹下执行以下语句。
sudo make install -j4