这个问题困扰了我一周,终于得到了解决!
分享一下的我的解决过程
(1)catkin_make
出现 ros::robotcreate2.cpp:(.text+0x1750): undefined reference to `ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)'
irobotcreate2.cpp:(.text+0x18d0): undefined reference to `ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)'
irobotcreate2.cpp:(.text+0x19e0): undefined reference to `ros::console::print(ros::console::FilterBase*, void*, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits, std::allocator > const&, char const*, int, char const*)'
irobotcreate2.cpp:(.text+0x21d4): undefined reference to `ros::console::initializeLogLocati.......
开始以为是ros中的某一个包没装的缘故 后来发现不是,是我所有的关于ros的自己编译的包都不能link.
主要好久没用ros 了,最近刚好在用realsense r200 才发现问题。
(2) gcc 问题
查看自己的gcc 版本 我的4.9 先进行降级处理下.
sudo apt-get install gcc-4.8
gcc --version 发现是还是原来的
把4.8设置个优先
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
再看下是不是可以了
然后最好把gcc也做下降级,步骤是一样的,不再多说。
其中的原因:主要是系统可能升级了,但是我不知道,gcc版本有时候是比较坑的问题。选个大部分软件都能用gcc 版本比较靠谱。在这里填坑了!
最后
问题就这样解决了,功夫不负有心人啦!