ros pluginlib 段错误

网友投稿 630 2022-09-27

ros pluginlib 段错误

ros pluginlib 段错误

最近在重新回看ROS插件时,运行出现了段错误,发现是boost版本问题,我目前版本是1.66,应该调整至1.58版本,如果跟其他软件使用不同的boost版本时,可以把相应版本编译到本地,不install到根目录,在链接库文件和找头文件时,可以指定目录寻找,即可!

安装两个版本。    我这里考虑bitshares源码采用1.60,eos版本采用1.67,步骤如下:一、先去- tar.gz文件 > tar -zxvf boost_1_60_0.tar.gz && cd boost_1_60_0    > su - root    > ./boottrap.sh --with-libraries=all    > ./b2    > ./b2 install        #我编译bitshare项目多一点,就使用./b2 install 把boost1.60安装在默认路径了,即/usr/local下,头文件和库文件分别位于/usr/local/include和/usr/local/lib中。三、安装boost1.67, 解压和编译源码还是跟上边一样,但是最后./b2 install指令跟上prefix 参数,指定安装路径:    ...    mkdir /usr/local/opt/boost1.67    ./b2 install --prefix=/usr/local/opt/boost1.67     这样安装完后头文件和lib文件就分别位于/usr/local/opt/boost1.67下的include和lib文件下    安装就完成了四、为项目指定boost库     bitshares和eos源码使用cmakelist组织,其通过FIND_PACKAGE(Boost ...)指令来搜索boost所在的目录,如果不加以设置的话都会默认搜索到/usr/local/下的boost1.60版本,因为bitshare用boost1.60是ok的,这里需要设置的是eos项目,方法如下:   1.如果采用终端cmake指令编译,则加上-D参数:      cd       cmake -DBOOST_ROOT=/usr/local/opt/boost1.67 .    2.如果采用ide,就需要在ide中设置环境变量,比如我用的是clion:    clion->preferences->Build,Execution,Deployment->Cmake->environment,添加BOOST_root=/usr/local/opt/boost1.67    但是clion设置环境变量需要一定的反应时间,设置好后最好重启一下clion,如果还是检索出来别的版本,就再耐心等一下。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring中自定义数据类型转换的方法详解
下一篇:2.递归状态估计
相关文章

 发表评论

暂时没有评论,来抢沙发吧~