在使用rikirobot机器人做ROS下的导航实验是,粗心大意将底层控制板烧坏,买了个新的电路板重新开始.在编译商家各处的STM32源代码时,Ubunt下总是出现了/arm-none-eabi-gcc/bin/ld:cannot find -lstdc++的错误,这是一个链接错误,使用arm-none-eabi-gcc编译器时总是连接不到libstdc++.首先尝试使用网上给出的一种方法,原因认为是在64位系统下编译32位的工程需要把32位的库包含进来,使用如下命令
1 sudo apt-get install gcc--multilib
操作之后还是没有变化,由于我的Ubuntu系统是32位,并且系统库中是包含libstdc++的,所以应该不是这个原因.考虑可能是系统自带的arm-none-eabi-gcc不好用,于是卸载重新安装交叉编译器,使用的是http://www.linuxidc.com/Linux/2015-08/121322.htm中给出的方法,版本是4.9
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded sudo apt-get update sudo apt-get install gcc-arm-none-eabi
会显示软件未经过验证,我认为可以不用管,接着对STM32工程进行编译,成功!